使用KafkaListener获取失败的消息

时间:2019-01-12 21:45:06

标签: spring-kafka

我正在使用spring-kafka最新版本,并使用@KafkaListener。我正在使用BatchListener。在侦听消息列表的方法中,我只想在处理一批记录时才调用确认。但是,直到我重新启动应用程序,spring框架才会再次发送这些消息。因此,如果未处理记录,我在KafkaListenerEndpointRegistry上使用了stop()和start()方法,但我觉得这不是解决问题的好方法。有没有更好的方法来解决这个问题。

1 个答案:

答案 0 :(得分:0)

请参见the documentation for the SeekToCurrentBatchErrorHandler

  

SeekToCurrentBatchErrorHandler将每个分区都查找到该批次中每个分区中的第一个记录,以便重播整个批次。该错误处理程序不支持恢复,因为框架无法知道批处理中的哪个消息失败。