Csv Mule:重用foreach负载并通过另一个foreach组件再次运行它

Csv Mule:重用foreach负载并通过另一个foreach组件再次运行它,csv,foreach,mule,reusability,payload,Csv,Foreach,Mule,Reusability,Payload,我有一个简单的csv到pojo数据映射器,它通过全流控制组件发送到两个同步流。第一个流通过一个Foreach运行负载,然后一旦完成,第二个流尝试通过另一个Foreach从数据映射器再次运行负载,但是我得到了以下警告消息: Splitter returned no results. If this is not expected, please check your split expression. 此外,Mule似乎只允许我通过流1或流2运行有效负载,但不能同时通过流1或流2运行有效负载。同

我有一个简单的csv到pojo数据映射器,它通过全流控制组件发送到两个同步流。第一个流通过一个Foreach运行负载,然后一旦完成,第二个流尝试通过另一个Foreach从数据映射器再次运行负载,但是我得到了以下警告消息:

Splitter returned no results. If this is not expected, please check your split expression.
此外,Mule似乎只允许我通过流1或流2运行有效负载,但不能同时通过流1或流2运行有效负载。同样,通过多个Foreach组件运行它将导致拆分器警告

任何帮助都将不胜感激。提前谢谢。以下是设置:

<flow name="main_flow" doc:name="main_flow" initialState="started" processingStrategy="synchronous">
    <data-mapper:transform config-ref="csv_to_pojo" doc:name="CSV To Pojo" stream="true"/>
    <all doc:name="All">
         <flow-ref name="flow1" doc:name="Flow Reference"/>
         <flow-ref name="flow2" doc:name="Flow Reference"/>
    </all>
</flow>

<flow name="flow1" doc:name="flow1" processingStrategy="synchronous">
    <logger message="Entering flow 1" level="INFO" doc:name="Logger"/>
    <foreach doc:name="For Each">
        <logger message="Inside foreach of flow1 " level="INFO" doc:name="Logger"/>
    </foreach>
</flow>

<flow name="flow2" doc:name="flow2" processingStrategy="synchronous">
    <logger message="Entering flow2" level="INFO" doc:name="Logger"/>
    <foreach doc:name="For Each">
        <logger message="Inside foreach of flow2" level="INFO" doc:name="Logger"/>
    </foreach>
</flow>

你提供的流程对我来说很好。骡子3.5。此流中是否缺少与原始流相比的任何内容。如果使用“分散-聚集”而不是“全部”,会发生什么情况?@user1760178您的数据映射器csv到pojo,对象集合实际上会传递到每个Foreach?我也在使用Mule 3.5。我正在使用一个FTP文件监视程序,当它找到一个csv文件时,它会将它交给数据映射器csv to pojo,就这样。@ZlatinZlatev scatter-gather?你指的是消息块聚合器?我指的是,它一次将消息副本发送到所有路由以进行并行异步执行: