Kafka 定时消费任务可以通过以下方法取消:
consumer.close();
consumer.pause();
// ... 处理消息
consumer.resume();
@Autowired
private ConsumerFactory<String, String> consumerFactory;
@Autowired
private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
public void cancelConsumer() {
kafkaListenerEndpointRegistry.stop();
}
请注意,这些方法并不会立即停止消费者,而是等待当前处理的消息完成后再关闭。如果你需要立即停止消费者,可以考虑在消费者线程中添加一个取消标志,然后在处理消息时检查该标志。如果标志为 true,则停止处理消息并关闭消费者。