2015-06-11 45 views
1

我們嘗試使用vm作爲flow1中的outbound和flow2中的inbound。在flow2中,我們使用FTP作爲出站端點,並且我們已經啓用了vm事務,即使這樣它也不起作用。我們是否需要啓用交易重試?根據以下問題,我們嘗試使用交易how to make until successful as synchronous to retry mechanism for FTP Outbound in mule 3.4.2可以請你幫我解決這個問題?如何使用vm事務實現ftp出站端點的重試機制?

<flow name="FTPFlow1" doc:name="FTPFlow1"> 
      <set-payload doc:name="Set Payload" value="#[payload]"/> 
      <vm:outbound-endpoint exchange-pattern="one-way" doc:name="VM" path="doProcess"> 
       <vm:transaction action="ALWAYS_BEGIN"/> 
      </vm:outbound-endpoint> 
     </flow> 
     <flow name="FTPFlow2" doc:name="FTPFlow2"> 
      <vm:inbound-endpoint exchange-pattern="one-way" path="doProcessMessage" doc:name="VM"> 
       <vm:transaction action="JOIN_IF_POSSIBLE"/> 
      </vm:inbound-endpoint> 
      <ftp:outbound-endpoint host="localhost" port="21" path="/data/mule/ftp" user="admin" password="admin" responseTimeout="10000" doc:name="FTP"/> 
     </flow> 

回答

2

你已經得到了交易錯誤:虛擬機出站不需要進行交易,它的VM入境需要以觸發重複傳遞在FTP故障的情況下。

<flow name="FTPFlow1" doc:name="FTPFlow1"> 
    <set-payload doc:name="Set Payload" value="#[payload]"/> 
    <vm:outbound-endpoint exchange-pattern="one-way" doc:name="VM" path="doProcess" /> 
</flow> 
<flow name="FTPFlow2" doc:name="FTPFlow2"> 
    <vm:inbound-endpoint exchange-pattern="one-way" path="doProcessMessage" doc:name="VM"> 
     <vm:transaction action="ALWAYS_BEGIN"/> 
    </vm:inbound-endpoint> 
    <ftp:outbound-endpoint host="localhost" port="21" path="/data/mule/ftp" user="admin" password="admin" responseTimeout="10000" doc:name="FTP"/> 
</flow> 
相關問題