使用@KafkaListener注释时是否有重置偏移的标准方法?

时间:2017-05-04 12:33:38

标签: apache-kafka spring-kafka

我在我的Spring Boot应用程序中使用了KafkaListener接口,它运行得很好。偏差由卡夫卡本人存储。

现在让我们说一个主题的消费者之一部署一个新版本并搞砸了2个小时的消息。然后他们修复了应用程序,并希望从两个小时前开始使用偏移量来启动新版本。

我可以将consumer.seek()与之前的consumer.offsetsForTimes()调用一起使用,但是当我使用轮询机制时,这只是直截了当,而不是在使用Spring KafkaListener时。

我尝试使用ConsumerRebalanceListener,但要设置偏移量,我需要让消费者处于活动状态,这在实例化ConsumerRebalanceListener时我没有...

我是否需要切换到轮询? 我可以在第一次调用KafkaListener之前到达消费者,但是在为消费者分配了分区之后?

1 个答案:

答案 0 :(得分:1)

不同时;即将到来的2.0 release介绍了ConsumerAwareMessageListener,它支持将Consumer作为参数传递到@KafkaListener方法。