您好,我有一个批处理使用Spring boot,其中一个kafka消费者在处理过程中用
@KafkaListener
注释,有一个静态布尔值,在运行过程中采用不同的值,如果为真,我想暂停我的消费者,如果为假,则唤醒它我不想丢失消费者暂停时的消息
Info a 主题有多个分区
我该怎么做谢谢
如果有条件,则暂停我的卡夫卡监听器,并且在此暂停期间不会丢失消息
容器上的暂停功能只是在消耗循环准备好时转移到该状态的请求。当您正在处理刚刚拉取的批次时,该线程被阻止并且无法立即对您的暂停请求做出反应。因此,您确实不会丢失现在正在处理的记录。新批次不会被拉取,因为消费者循环将看到暂停请求。
在文档中查看更多信息:https://docs.spring.io/spring-kafka/reference/html/#pause-resume