2013-05-01 52 views
0

我在列表上使用收集分離器和集合聚合器。我可以看到我的請求列表按照正確的順序分割,然後發送到後續組件,但是,在使用收集聚合器之後,聚合列表的順序是隨機順序的。我在每個拆分的消息中檢查了correlationSeq,它們都很好。我確實嘗試過在聚合器之前和之後放置重排器,但兩者都不起作用。Mule集合聚合器不會返回列表的正確順序

請指教。

<collection-splitter/> 
    <component> 
     <spring-object bean="requestProcessor" /> 
    </component> 
    <resequencer failOnTimeout="true" /> 
    <collection-aggregator failOnTimeout="true" /> 

回答

3

現場collection-aggregator背後使用的org.mule.api.store.ObjectStore的實現來存儲它積累的事件。

Mule提供的內存中和持久默認實現都不尊重數據的存儲順序。所以我看到的唯一一個沒有編碼太多的選項是在collection-aggregator之後訂購消息收藏內容。

+1

謝謝大衛。我創建了自定義聚合器來訂購事件,並且它對我有用。 – 2013-05-03 23:54:45