首页 > 解决方案 > Spring Cloud Stream和批量发送消息到队列

问题描述

我正在像这样向我的消息队列发送消息

 messages.forEach(message->
    sources.output().send(MessageBuilder.withPayload(message).build());

这些消息来自外部来源,可能有数千条。我见过 Splitter,但它需要输入通道和输出通道,但我的消息是第一次进入队列,我只是在生成消息而不消耗它们,我不确定 Aggregator 将如何工作或如果对于这样一个简单的场景来说太复杂了。

所以基本上我希望能够分批发送这些消息,而不是一个接一个。这怎么可能实现?

标签: spring-bootspring-integrationspring-cloud-stream

解决方案


对于一些简单的事情,您可以收集并创建一个List数据(消息或只是有效负载),然后创建一个带有 List 作为有效负载的消息并发送它。

对于更多可配置的方法,您还可以使用Spring Integration Aggregator


推荐阅读