2016-06-08 40 views
0

這可能讓Mule執行SFTP Invoke流的中間部分。我有要求在白天的特定時間閱讀文件。我注意到有Quartz Polling Job的例子,但注意到只讀1個文件是有限制的。我正在尋找一種SFTP活動來按照特定模式讀取文件。任何方向這將有助於。在Mule Quartz中調用SFTP流入調用Mule流

注意Mule只允許入站或出站端點。

謝謝

+0

在中途添加SFTP端點正在拋出錯誤。指示SFTP正在進行輸入。雖然我希望SFTP創建一個連接並基於消息輸入生成流行爲。 mep = REQUEST_RESPONSE,properties = {},transactionConfig = Transaction {factory = null,action = INDIFFERENT,timeout = 0},deleteUnacceptedMessages = false,initialState = started,responseTimeout = 10000,endpointEncoding = UTF-8,disableTransportTransformer = false}。消息有效負載的類型爲:NullPayload – SanSharma

+0

這是一個限制。添加SFTP,中途期望SFTP有效負載。我向事件生成器作業添加了一個字符串。現在,有效負載將作爲目標文件生成。 \t dummy ) – SanSharma

+0

添加中間的任何文件端點將用作出站端點,因此它期望文件寫入的有效載荷。 – AnupamBhusari

回答

3

您可以使用Mule Requester模塊獲取流之間的資源。 詳情可Mule Requester Module

中找到參考下面的代碼調度流從SFTP位置檢索文件

<flow name="testmappingFlow2"> 
     <poll doc:name="Poll"> 
      <schedulers:cron-scheduler expression="0 0 0 * * ?"/> 
      <logger message="Sheduled job invoked" level="INFO" doc:name="Logger"/> 
     </poll> 
     <!-- Your flow logic goes her --> 
     <mulerequester:request-collection config-ref="Mule_Requester" resource="{sftp.resource}" count="10" doc:name="Mule Requester"/> 
     <!-- Your flow logic for processing files. above code will return 10 files at time. --> 
    </flow> 

希望這有助於。

+0

謝謝。試圖執行相同的操作。請求者未找到文件時如何處理情況。我注意到類型爲null的對象正在加載到目標上。 – SanSharma

+0

添加選擇表達式。 #[!(有效負載instanceof org.mule.transport.NullPayload)] – SanSharma

+1

我希望你的最初問題得到解決。 – AnupamBhusari

0

使用Mule Requestor已經工作。感謝Anupam。