繁体   English   中英

配置 Spring Boot @KafkaListener 监听最新消息

[英]Configure Spring Boot @KafkaListener for listening to the latest messages

我正在使用 Spring Boot 的 @KafkaListener 来监控某些服务器的心跳消息,如下所示:

@KafkaListener(topics = "heartbeat-topic", groupId = "monitor")
public void listenToHeartbeatMsg(String message) {}

问题是当侦听器订阅者应用程序启动时,即使服务器已关闭,订阅者应用程序也会收到那些先前的心跳消息。

如何解决此问题并仅收听实时心跳消息?

实现ConsumerSeekAware并在onPartitionsAssigned回调中调用 seekToBeginning。

请参阅https://docs.spring.io/spring-kafka/docs/current/reference/html/#seek

public class MyListener implements ConsumerSeekAware {

...

    @Override
    public void onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback) {
        callback.seekToEnd(assignments.keySet());
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM