我在List上使用集合拆分器和集合聚合器。我可以看到我的请求列表以正确的顺序拆分,然后发送到后续组件,但是,在使用集合聚合器之后,聚合列表的序列是随机顺序。我检查了每条拆分消息中的correlationSeq,它们都很好。我确实尝试在聚合器之前和之后放置重定序器,但两者都不起作用。
请告知。
<collection-splitter/>
<component>
<spring-object bean="requestProcessor" />
</component>
<resequencer failOnTimeout="true" />
<collection-aggregator failOnTimeout="true" />
答案 0 :(得分:3)
在场景后面,collection-aggregator
使用org.mule.api.store.ObjectStore
的实现来存储它累积的事件。
Mule提供的内存中和持久性默认实现都不尊重数据的存储顺序。因此,我看到的唯一没有编码的选项是在collection-aggregator
之后订购消息集合中的内容。