2014-04-14 155 views
0

我有一個訂閱者列表,我從一個java組件中獲取mule流的訂閱者列表,以及我已經在其中發佈有效載荷的隊列中的每個訂閱者。所有用戶的有效載荷都相同。我正在看兩個選項 -
1. ForEach 2.收集拆分器
哪一個適合這種情況,以及如何實現這一目標?在mule中迭代集合

回答

0

對於你指定的場景,兩個Mule的處理器應該完成這項工作。

我建議你去集合分配器,因爲你只需要將每個項目發佈到隊列中。

試試下面的辦法

<flow name="sampleFlow"> 
    .... some inbound endpoint.... 
    .... some message processors .... 
    <component > ... component generating the collections as output payload ... 
    <collection-splitter enableCorrelation="IF_NOT_SET"></collection-splitter> 
    <jms:outbound-endpoint queue="subscriber.queue.name" connector-ref="jmsconnector" exchange-pattern="one-way" /> 
</flow> 

希望這有助於。

+0

感謝您的回覆。在這種情況下,我將不得不將集合設置爲有效負載的一部分(這可能是我想要發佈消息的隊列名稱),以便它可以是分離器。但是,我想發佈的實際有效載荷呢? – Pankaj

0

你可以在mule的新運行時間使用分散收集,但對於舊版本中的相同要求,可以將有效載荷保存在臨時變量中並使用所有路由器,並且在每個分支中使用集合有效載荷從temp變量中獲取該有效載荷在呼叫jms出站前。