Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java mule中的迭代集合_Java_Mule - Fatal编程技术网

Java mule中的迭代集合

Java mule中的迭代集合,java,mule,Java,Mule,我有一个订阅服务器列表,我从mule flow中的一个java组件获得该列表,对于每个订阅服务器,我有一个队列,我想在其中发布有效负载。所有订户的有效负载都相同。我正在考虑两个选项- 1.ForEach 2。收集拆分器哪一个适合此场景,以及如何实现此目的?对于您指定的场景,Mule的两个处理器都应执行此任务 我建议您使用集合拆分器,因为您只需要将每个项目发布到队列中 尝试以下方法 <flow name="sampleFlow"> .... some inbound endp

我有一个订阅服务器列表,我从mule flow中的一个java组件获得该列表,对于每个订阅服务器,我有一个队列,我想在其中发布有效负载。所有订户的有效负载都相同。我正在考虑两个选项-

1.ForEach 2。收集拆分器
哪一个适合此场景,以及如何实现此目的?

对于您指定的场景,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>

....  某些入站终结点。。。。
.... 一些消息处理器。。。。
... 正在生成集合作为输出有效负载的组件。。。

希望这能有所帮助。

您可以在mule的新运行时使用分散-聚集,但对于旧版本中的相同要求,您可以在temp变量中保存有效负载,并使用所有路由器和每个分支,在调用jms出站之前,使用设置的有效负载从temp变量中获取有效负载。

感谢您的响应。在本例中,我必须将集合设置为有效负载的一部分(可能是我想要发布消息的队列名称),以便它可以被拆分。但是我想发布的实际有效载荷呢?