【发布时间】:2021-12-25 16:52:11
【问题描述】:
我正在使用带有 kafka 绑定的 spring 云流。消费者使用spring.cloud.stream.kafka.bindings.function配置配置,开启DLQ。
spring.cloud.stream.kafka.bindings.consumeTest-in-0:
consumer:
batch-mode: false
ackEachRecord: true
dlqName: test.file.error
enableDlq: true
dlqProducerProperties.configuration.key.serializer: org.apache.kafka.common.serialization.StringSerializer
dlqProducerProperties.configuration.value.serializer: org.apache.kafka.common.serialization.StringSerializer
maxAttempts: 5
backOffInitialInterval: 5000
backOffMaxInterval: 5000
当我从一个主题消费一条消息,并发生异常时,我看到它重试了 3 次,并将消息发送到 DLQ。我已将 maxAttempts 配置为 5,但我无法覆盖默认值 3。
我正在使用 spring kafka (2.7.8) 和 spring cloud (2020.0.4)。 如何覆盖重试尝试和 backOff 间隔参数?
我注意到如果我在默认消费者级别(如下所示)添加参数,它们会被选中,但不是在函数绑定级别:
spring.cloud.stream.default.consumer:
maxAttempts: 5
defaultRetryable: true
backOffInitialInterval: 5000
backOffMaxInterval: 5000
backOffMultiplier: 1
谢谢
【问题讨论】:
标签: spring-boot spring-kafka spring-cloud-stream