我正在使用@StreamListener
消耗Kafka
消息。
我将autoCommitOffset
设置为false
,并且将autoCommitOnError
设置为false
。
我还将所有失败的消息发送到DLQ主题,以获取失败的maxAttempt。我在测试更改时有一个问题。
如果我不确认已使用的消息并且也不抛出任何错误,将会发生什么?卡夫卡会在一段时间后自动发送邮件吗?
当我抛出错误时,重播会开始,并且重试直到我的maxAttempt配置和失败的消息转到DLQ主题。
让我知道,如果消费者未抛出任何错误且未确认消息,Kafka支持是否会重试。
如果我不确认已使用的消息并且也不抛出任何错误,将会发生什么?卡夫卡会在一段时间后自动发送邮件吗?
否;除非您不处理其他消息,否则,即使这样,您只有在重新启动应用程序后才能重新交付。
Kafka不会“确认”离散消息;它只是将最后处理的偏移量存储在分区中。