在骡子中迭代收集

时间:2014-04-14 18:47:20

标签: java mule

我有一个订阅者列表,我是从mule流中的java组件获取的,并且对于我想要发布有效负载的队列中的每个订阅者。所有订户的有效负载相同。我正在看两个选项 -
1. ForEach 2. Collection Splitter哪一个适合这种情况以及如何实现这个目标?

2 个答案:

答案 0 :(得分: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>

希望这有帮助。

答案 1 :(得分:0)

你可以在mule的新运行时使用scatter-gather,但是对于旧版本中的相同要求可以在temp变量中保存有效负载并使用所有路由器并在每个分支中使用set payload之前从temp变量获取有效负载打电话给jms outbound。