如何暂停 Kafka Consumers 的轮询行为?

How can I pause the polling behavior of Kafka Consumers?

我想在特定时间停止对特定主题的投票。

比如TEST主题分区即使有消息进来,消息也堆在00到01分区,没有消费。

01点后,我想在TEST主题上再次消费消息

如何暂停和恢复?

使用KafkaListenerEndpointRegistry bean 来控制侦听器容器的生命周期;你可以根据你想要的任何条件停止和启动它们。

您还可以将它们配置为停止,直到您明确启动它们。

https://docs.spring.io/spring-kafka/docs/current/reference/html/#kafkalistener-lifecycle

@KafkaListener(id = "myContainer", topics = "myTopic", autoStartup = "false")
public void listen(...) { ... }

@Autowired
private KafkaListenerEndpointRegistry registry;

...

    this.registry.getListenerContainer("myContainer").start();

...