Spring与多个SFTP会话集成

时间:2015-08-15 15:20:37

标签: spring spring-integration sftp

我使用Spring Intergation的SFTP和出站通道适配器将文件上传到远程位置。它在将文件发送到一个SFTP位置时工作正常。但是,在我的代码中,我试图根据不同的标准发送到多个SFTP位置。

以下是我的设置 - 遵循Spring Intergation doc

<beans:bean id="sftpSessionFactory"
    class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
    <beans:property name="host" value="localhost"/>
    <beans:property name="password" value="password"/>
    <beans:property name="port" value="22"/>
    <beans:property name="user" value="user"/>
</beans:bean>

<int-sftp:outbound-channel-adapter id="sftpOutboundAdapter"
    session-factory="sftpSessionFactory"
    channel="outputChannel"
    remote-directory="foo/bar"
    use-temporary-filename="false"
    mode="REPLACE"/>

我的问题是:

  1. 有谁知道如何配置多个SFTP会话
  2. 对于出站通道适配器,有什么方法可以在我的代码而不是XML中设置它,特别是,我想计算远程目录的值。
  3. 由于

1 个答案:

答案 0 :(得分:0)

请参阅dynamic ftp sample application了解您想要的技巧。

即将推出的4.2版本(候选版本1现已推出)有一个DelegatingSessionFactory,您可以在其中动态查找要使用的会话工厂。请参阅"what's new in 4.2"