[英]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.