我在 Spring Integration 文档中找不到如何定义支持从 PollableChannel 一次使用多个消息的出站 channel 适配器或网关的方法。
是否可以或者我必须使用聚合器将消息合并到列表中?
最佳答案
确实如此。实际上不存在这样的组件,因为任何消息传递都被设计为一次仅处理单个消息,不会影响其他消息。
一个 channel 可以接受来自不同系统、不同业务逻辑、不同原子性等的不同消息...
EIP catalog没有提供类似的东西,但我认为您的要求类似于 Reactive Streams 中的 window
或 buffer
.
好的,Aggregator
可以在这里提供帮助。您只需要一些人工 correlationKey
(correlation-strategy-expression="1"
) 并提供一些批量
发布策略。
有一些兴趣Batcher也在 Reactor Spring Extension 中实现。
关于spring - Spring集成 channel 上的批量消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26115137/