如何正确启动和停止ReplyingKafkaTemplate

How to properly start and stop ReplyingKafkaTemplate

我正在使用 ReplyingKafkaTemplate 进行同步调用和回复。从我发现到现在,每次我要使用模板时,我都会调用 start() 并在收到响应后调用 stop() 方法。但是,我遇到了消息提交的问题,我的消费者的偏移量没有增加。我假设,那是因为消费者没有时间进行提交,因为基本提交时间(属性“auto.commit.interval.ms”)在 ConsumerConfig class 中设置为 5 秒,我是收到消息后立即阻止他。所以我把这个时间改为 1 毫秒,以便在收到消息后立即提交。这样就可以了,但我想更好地理解它

我的问题是:应该如何正确使用 start() 和 stop() 方法,是否有目的在每次调用之前启动它并在之后停止?确保提交的正确方法是什么?

顺便说一句。如果加里回答问题,我将不胜荣幸

你不应该每次都启动和停止容器;一直离开回复容器运行。

在任何情况下,您都应该单独保留 enable.auto.commit - 虽然它的默认值为 true,但 Spring 会将其设置为 false,除非您明确将其设置为 true.

容器将以比 built-in 自动提交机制更确定的方式提交偏移量。