Spring boot spring cloud stream kafka binder enableDlq没有像我预期的那样工作
我正在使用带有模式注册表的spring cloud stream kafka活页夹。(不是kakfa streams) 我试图做的是,当不可反序列化的消息进入输入主题时,将不可反序列化的消息发送到dlq。 所以我尝试了下面的配置,但spring cloud stream应用程序一直在无限地重试,并说 原因:org.apache.kafka.common.errors.SerializationException:反序列化id为-1的Avro消息时出错Spring boot spring cloud stream kafka binder enableDlq没有像我预期的那样工作,spring-boot,apache-kafka,spring-cloud-stream,spring-cloud-stream-binder-kafka,Spring Boot,Apache Kafka,Spring Cloud Stream,Spring Cloud Stream Binder Kafka,我正在使用带有模式注册表的spring cloud stream kafka活页夹。(不是kakfa streams) 我试图做的是,当不可反序列化的消息进入输入主题时,将不可反序列化的消息发送到dlq。 所以我尝试了下面的配置,但spring cloud stream应用程序一直在无限地重试,并说 原因:org.apache.kafka.common.errors.SerializationException:反序列化id为-1的Avro消息时出错 我做错了什么?请帮忙。请不要在多个地方问同一
我做错了什么?请帮忙。请不要在多个地方问同一个问题,这是在浪费你和我们的时间;正如我已经在Gitter上回答的那样: 此错误发生在堆栈的最底层,SpringCloudStream无法帮助解决此问题。您需要使用ListenerContainerCustomizer
@Bean
来配置带有死信发布恢复器的seektocurInterrorHandler
,并配置ErrorHandlingDeserializer
这就是说,堆栈溢出是解决此类问题的更好媒介
spring.cloud.stream:
function:
definition: functionName
bindings:
functionName-in-0:
group: group-name
destination: input-topic
kafka:
binder:
brokers: localhost:9092
bindings:
functionName-in-0:
consumer:
enableDlq: true
dlqName: input-topic-dlq
autoCommitOnError: true
autoCommitOffset: true
default:
consumer:
configuration:
schema.registry.url: http://localhost:8081
key.deserializer: org.apache.kafka.common.serialization.StringDeserializer
value.deserializer: io.confluent.kafka.serializers.KafkaAvroDeserializer