【问题标题】:Kafka manual ackMode MANUAL_IMMEDIATE what if not acknowledgeKafka 手动 ackMode MANUAL_IMMEDIATE 如果不确认怎么办
【发布时间】:2019-06-29 00:43:04
【问题描述】:

我使用 Spring KafKa 并且我将 ackMode 设置为 MANUAL_IMMEDIATE

props.setAckMode(AbstractMessageListenerContainer.AckMode.MANUAL_IMMEDIATE);

情况是由于某种原因我的应用无法确认 (acknowledgment.acknowledge()) 并且毫无例外地错过了它。

1- 如何设置消费者重试错过的消息 2-如何配置在我配置的最大重试次数达到后调用函数

【问题讨论】:

    标签: apache-kafka kafka-consumer-api apache-kafka-connect spring-kafka


    【解决方案1】:

    the documentation about SeekToCurrentErrorHandlers

    当侦听器抛出异常时,错误处理程序将执行必要的查找并重新获取记录。您可以设置放弃前的尝试次数。

    还有a DeadLetterPublishingRecoverer可以用来将失败的记录发送到另一个主题。

    【讨论】:

    • 感谢您的回答,有没有什么方法可以不抛出异常(在没有确认的超时后)侦听器重试
    猜你喜欢
    • 2020-07-10
    • 1970-01-01
    • 2020-06-29
    • 2013-04-22
    • 2021-03-21
    • 2019-06-08
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    相关资源
    最近更新 更多