2016-04-25 39 views
0

我正在使用收集拆分器拆分我的列表。現在應該如何將有效載荷設置爲SFTP出站端點。騾 - 收集拆分後發送SFTP出站消息

 <sftp:inbound-endpoint connector-ref="sftp-inbound" host="${SFTP_HOST}" port="${SFTP_PORT}" 
     path="/files/" user="${SFTP_USER}" password="${SFTP_PASS}" 
     responseTimeout="10000" pollingFrequency="30000" fileAge="20000" sizeCheckWaitTime="5000" 
     archiveDir="/files/archive/" doc:name="SFTP" > 
      <file:filename-regex-filter pattern="Test(.*).zip" caseSensitive="true"/> 
     </sftp:inbound-endpoint> 

     <set-variable variableName="regexVal" value="${REGEX}" doc:name="Variable"/> 
     <set-variable variableName="sourceFileName" value="#[flowVars.originalFilename]" doc:name="Variable"/> 

     <custom-transformer name="zipTxt" class="com.mst.transform.UnzipTransformer" doc:name="Java" mimeType="image/gif"> 
      <spring:property name="filenamePattern" value="*.csv,*.txt" /> 
     </custom-transformer> 

     <set-variable variableName="fileContents" value="#[payload]" /> 

     <collection-splitter enableCorrelation="IF_NOT_SET" /> 

     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 

     <sftp:outbound-endpoint connector-ref="sftp-inbound" 
      host="${SFTP_HOST}" port="${SFTP_PORT}" 
      path="/files/" user="${SFTP_USER}" password="${SFTP_PASS}" 
      responseTimeout="10000" doc:name="SFTP" 
      exchange-pattern="one-way"/> 

</flow> 
+0

你能提供一些你想在這裏實現的更多細節嗎?你希望你的出站有效載荷看起來像什麼? – danw

+0

您對上述方法有什麼問題? – afelisatti

回答

2

如果收集分流器前的有效載荷是可以通過類似的InputStream SFTP出站端點消費對象的列表,然後分路器後,你可以用記錄器,處理器鏈內SFTP。分配器會將每個對象逐個發送到處理器鏈。如果其InputSream,SFTP應該能夠寫入它。

<collection-splitter enableCorrelation="IF_NOT_SET" /> 

<processor-chain doc:name="Processor Chain"> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 

     <sftp:outbound-endpoint connector-ref="sftp-inbound" 
      host="${SFTP_HOST}" port="${SFTP_PORT}" 
      path="/files/" user="${SFTP_USER}" password="${SFTP_PASS}" 
      responseTimeout="10000" doc:name="SFTP" 
      exchange-pattern="one-way"/> 
</processor-chain> 

您不需要處理器鏈,如果你只是想分流後把一個處理器(如SFTP)。

如果這不起作用,那麼請將錯誤的詳細信息添加到問題。

+0

它的工作,謝謝。 – Srini