spring-boot - Spring Cloud Stream和批量发送消息到队列
问题描述
我正在像这样向我的消息队列发送消息
messages.forEach(message->
sources.output().send(MessageBuilder.withPayload(message).build());
这些消息来自外部来源,可能有数千条。我见过 Splitter,但它需要输入通道和输出通道,但我的消息是第一次进入队列,我只是在生成消息而不消耗它们,我不确定 Aggregator 将如何工作或如果对于这样一个简单的场景来说太复杂了。
所以基本上我希望能够分批发送这些消息,而不是一个接一个。这怎么可能实现?
解决方案
对于一些简单的事情,您可以收集并创建一个List
数据(消息或只是有效负载),然后创建一个带有 List 作为有效负载的消息并发送它。
对于更多可配置的方法,您还可以使用Spring Integration Aggregator
推荐阅读
- python - 如果图像不在列表 python 中,则从图像中删除颜色
- python - 为什么我收到错误消息:“Mul”对象没有属性“exp”?
- powershell - Problems with zip content extraction
- c++ - 批量模型矩阵到单个统一缓冲区对象
- python - 如何使 python 脚本可以从另一个脚本停止?
- reactjs - 如何使用 react-copy-to-clipboard 将表格行和列复制到剪贴板?
- javascript - 在 2 个日历之间同步日期
- php - 在 Woocommerce 中的长产品描述中添加“阅读更多”/“阅读更少”按钮:当不需要按钮时如何隐藏按钮?
- gradle - 如何从 gradle 脚本中访问启动参数?
- android - 在我尝试显示结果后启动改造 API 调用