我想知道在这方面是否有一些选择 spring-kafka
它将把所有的新消息抓取到一个列表中。
例如,如果我在听 Message
对象,我想得到 List<Message>
自从上次投票以来。比如:
@KafkaListener(poll-interval=1000, topics = "${kafka.topic}", containerFactory = "objectListListenerContainerFactory", )
public void messageListener(List<Message> messages) {
log.info("Count of new messages since last poll : {}", messages.size());
}
我已经读过springkafka:轮询新消息,而不是使用onmessage通知。但对我来说不是很有用。
1条答案
按热度按时间t40tm48m1#
与平原SpringKafka你可以使用
ConsumerFactory
创建KafkaConsumer
然后你就可以在方便你的时候自己去投票记录了。也要注意
KafkaMessageListenerContainer
可以暂停在任意时刻停止轮询,但仍连接到消费组。在 Spring Kafka的延伸中有一种新的融合
KafkaMessageSource
对于此类任务:我认为我们需要考虑在spring for apache kafka参考手册中记录这一点:https://docs.spring.io/spring-kafka/docs/current/reference/html/_spring_integration.html#si-Kafka。所以,请随意提出一个问题
spring-kafka
解决这一差距的项目。