2016-04-25 53 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