You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kafka类型映射问题:应用运行时消费者类定义找不到报错

问题描述

已尝试所有相关方案仍未解决问题,此前参考过以下方案:

  • 《如何使用Spring Boot配置Kafka类型映射?Maven构建成功但存在错误》
  • 《如何在Kafka中使用属性文件映射类型》

生产者端配置

YAML配置

kafka:
  producer:
    bootstrap-servers: localhost:9092
    key-serializer: org.apache.kafka.common.serialization.StringSerializer
    value-serializer: org.springframework.kafka.support.serializer.JsonSerializer

Properties配置

spring.kafka.producer.properties.spring.json.type.mapping=mail:com.upcoming.vice.model.ItemMail

消费者端配置

YAML配置

kafka:
  consumer:
    bootstrap-servers: localhost:9092
    group-id: mail-notifications
    auto-offset-reset: earliest
    enable-auto-commit: false
    key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
    value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer

Properties配置

spring.kafka.consumer.properties.spring.json.type.mapping=mail:com.schedule.notify.model.ItemMail
spring.kafka.consumer.properties.spring.json.trusted.packages=*

实体类定义

public class ItemMail implements Serializable {
    public String to;
    public String subject;
    public String body;
}

消费者监听配置类

@Configuration
@KafkaListener(topics = "itemSaved")
public class KafkaConsumerConfig {
    @KafkaHandler
    public void handleItemMail(ItemMail mail) {
        System.out.println("Received mail: " + mail);
    }
}

报错信息

Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.JavaType
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[na:na]
... 42 common frames omitted

内容的提问来源于stack exchange,提问作者Soumyakanti Giri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:35:01