Spring Cloud Stream - 批量接收消息

时间:2017-12-15 10:33:05

标签: spring-cloud-stream spring-cloud-dataflow spring-kafka

我想定期从Kafka主题中获取一批消息(比如10000条消息)(一次性批量处理所有10k记录而不是逐一处理)。

有没有办法在Spring Cloud Stream处理器中实现这一目标?如果是的话,是否有任何片段或任何我可以参考的例子?

由于

1 个答案:

答案 0 :(得分:2)

很遗憾,KafkaMessageDrivenChannelAdapter.ListenerMode.batch级别仍然没有spring.cloud.stream.kafka.bindings.TARGET.consumer.支持。随意提出有关此事的问题。

同时作为一种解决方法,我建议使用Spring Integration Aggregator作为Kafka主题使用者来真正批量应用程序级别的记录。然后才发送它们进行处理。

好吧,另一种解决方法可能是手动使用Spring Integration Kafka(KafkaMessageDrivenChannelAdapter),而不是Kafka Binder。或者只使用Spring Kafka及其@KafkaListenerConcurrentKafkaListenerContainerFactory bean以及batchListener选项。