如果没有消息,则不调用使用@KafkaListener 注释的方法

Method annotated with @KafkaListener not called if there are no messages

我正在使用 spring-kafka,如果 consumer.poll() 方法没有 return 任何消息,则不会调用用 @KafkaListener 注释的方法。即使 consumer.poll() return 是一个使用 @KafkaListener 的空消息列表,是否也可以强制调用方法?

没有,但是你可以在监听器容器工厂上设置idleEventInterval,然后消费ListenerContainerIdleEvent;如果轮询 returns 在该时间间隔内未收到任何记录,则会发出事件。

通过实施 ApplicationListener<ListenerContainerIdleEvent> 或使用接收 ListenerContainerIdleEvent.

@EventListener 方法来使用事件