0
我有一个ServiceFlow和一个FileFlow。一旦ServiceFlow(Flow1)被触发,FileFlow(Flow2)应该获取所有文件并处理它们。Mule ESB:无法控制从flow1流向flow 2
将Flow2中的初始状态设置为停止状态仅在Mule服务器启动之前第一次工作,即第一次触发执行。一旦流量达到第一个触发器,如果我试图保留一些文件在file:inbound-endpoint
它开始处理文件。
但我的方案仅基于每个触发器,因此第二个文件必须选择该文件。请帮助我如何在Flow2中进行控制。
我使用下面的代码
<flow name="serviceFlow" doc:name="Flow1">
<http:inbound-endpoint exchange-pattern="request-response"
host="localhost" port="8081" doc:name="HTTP" contentType="text/xml"
mimeType="text/xml" />
<set-payload value="'Started Processing'" doc:name="Set Payload" />
<async doc:name="Async">
<expression-component doc:name="Expression">
app.registry.FileFlow.start();
</expression-component>
</async>
</flow>
<flow name="FileFlow" doc:name="Flow2" initialState="stopped" >
<file:inbound-endpoint responseTimeout="10000" doc:name="File" path="C:\Users\Desktop\IN"/>
<batch:execute name="businessBatch1" doc:name="Batch Execute"/>
</flow>
使用骡子版本:3.5.1
森:我已经尝试过,但它似乎并没有工作。我是做错了还是有其他方法。 – star 2014-09-13 21:48:52
@Aniren:老板谢谢,它工作正常。但在其他一些场景中,比如我从我的Flow2调用批处理流,而在(输入阶段)的批处理流中,我得到的错误如** org.mule.transport.file.ReceiverFileInputStream **不是正确的类型。它必须是类型**接口java.lang.Iterable java.lang.Iterable“**它不工作。再次我做批处理输入阶段迭代(因为我inout我们xml,使用Java组件作为列表)它的工作原理为什么这个奇怪的场景 – star 2014-09-13 22:25:22
你需要在Stack Overflow上创建一个单独的新问题,在那里发布你的Mule配置..我们可以研究它并讨论那个问题的解决方案:) – 2014-09-14 09:16:59