我想定期从Kafka主题中获取一批消息(比如10000条消息)(一次性批量处理所有10k记录而不是逐一处理)。
有没有办法在Spring Cloud Stream处理器中实现这一目标?如果是的话,是否有任何片段或任何我可以参考的例子?
由于
答案 0 :(得分:2)
很遗憾,KafkaMessageDrivenChannelAdapter.ListenerMode.batch
级别仍然没有spring.cloud.stream.kafka.bindings.TARGET.consumer.
支持。随意提出有关此事的问题。
同时作为一种解决方法,我建议使用Spring Integration Aggregator
作为Kafka主题使用者来真正批量应用程序级别的记录。然后才发送它们进行处理。
好吧,另一种解决方法可能是手动使用Spring Integration Kafka(KafkaMessageDrivenChannelAdapter
),而不是Kafka Binder。或者只使用Spring Kafka及其@KafkaListener
和ConcurrentKafkaListenerContainerFactory
bean以及batchListener
选项。