卡夫卡消费者错误

jen*_*jen 5 apache-kafka kafka-consumer-api kafka-producer-api spring-kafka

我正在使用卡夫卡生产者和春季卡夫卡消费者。我正在使用 Json 序列化器和反序列化器。每当我尝试从主题中读取消费者中的消息时,我都会收到以下错误:

org.apache.kafka.common.errors.SerializationException: Error deserializing key/value for partition fan_topic-0 at offset 154. If needed, please seek past the record to continue consumption.
Caused by: java.lang.IllegalStateException: No type information in headers and no default type provided
Run Code Online (Sandbox Code Playgroud)

我没有在生产者和消费者中配置任何有关标头的信息。我在这里缺少什么?

Art*_*lan 5

我相信您错过了这样一个事实:JsonDeserializer必须使用ConsumerFactory适当的默认类型进行反序列化,但不能在 Kafka 属性中进行配置。

所有信息都在文档中提供:https://docs.spring.io/spring-kafka/docs/2.1.7.RELEASE/reference/html/_reference.html#serdes

  • 在属性中添加 JsonDeserializer.VALUE_DEFAULT_TYPE 修复了该问题。 (2认同)