2016-04-25 8 views
0

をSFTP送信メッセージを送信します。では、ペイロードをSFTP outbound-endpointに設定する方法を説明します。ミュール - 私は私のリストを分割するために、コレクション・スプリッタを使用していますコレクションを分割した後

 <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をラップすることができます。スプリッタは、各オブジェクトをプロセッサチェーンに1つずつ送信します。 SFTPは、それがInputSreamならばそれを書くことができるはずです。

<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)を1つだけ入れたい場合、プロセッサチェーンは必要ありません。

これが動作しない場合は、質問には、エラーの詳細を追加してください。

+0

それは、ありがとう、働いた。 – Srini

関連する問題