spring-kafka监听器重试如何在max.poll.records大于1的情况下工作?

问题描述 投票:0回答:1

我已阅读此答案,我很清楚,记录会在下一次民意调查之前一次交给听众。

有人可以告诉我,在处理任何记录期间,如果侦听器抛出异常,spring-kafka 是否会重试整个批次,或者侦听器将仅重试失败的记录,并使用

DefaultErrorHandler
DeadLetterPublishingRecoverer

  • 弹簧启动3.0.12
  • kafka客户端3.5.1
spring-boot spring-kafka
1个回答
0
投票

请参阅

DefaultErrorHandler
Java 文档:

 * An error handler that, for record listeners, seeks to the current offset for each topic
 * in the remaining records. Used to rewind partitions after a message failure so that it
 * can be replayed.

因此,它的行为取决于侦听器模式。记录模式用两个词来说:仅重试失败的记录。即使您的

max.poll.records > 1
处于录音模式,也只会将一张记录传送给听众。其他人只是在内存中排队等待,直到
DefaultErrorHandler
完成当前记录。

在文档中查看更多信息:https://docs.spring.io/spring-kafka/reference/kafka/annotation-error-handling.html

© www.soinside.com 2019 - 2024. All rights reserved.