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