FTP 会话工厂
Spring 集成提供您可以用来创建 FTP(或 FTPS)会话的工厂。
默认工厂
从3.0版本开始,默认情况下不再缓存会话。请参见FTP会话缓存。 |
在配置FTP适配器之前,必须先配置FTP会话工厂。您可以使用常规bean定义配置FTP会话工厂,其中实现类为o.s.i.ftp.session.DefaultFtpSessionFactory
。以下示例显示了一个基本配置
<bean id="ftpClientFactory"
class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
<property name="host" value="localhost"/>
<property name="port" value="22"/>
<property name="username" value="kermit"/>
<property name="password" value="frog"/>
<property name="clientMode" value="0"/>
<property name="fileType" value="2"/>
<property name="bufferSize" value="100000"/>
</bean>
对于FTPS连接,您可以使用o.s.i.ftp.session.DefaultFtpsSessionFactory
代替。
以下示例显示了一个完整的配置
<bean id="ftpClientFactory"
class="org.springframework.integration.ftp.session.DefaultFtpsSessionFactory">
<property name="host" value="localhost"/>
<property name="port" value="22"/>
<property name="username" value="oleg"/>
<property name="password" value="password"/>
<property name="clientMode" value="1"/>
<property name="fileType" value="2"/>
<property name="useClientMode" value="true"/>
<property name="cipherSuites" value="a,b.c"/>
<property name="keyManager" ref="keyManager"/>
<property name="protocol" value="SSL"/>
<property name="trustManager" ref="trustManager"/>
<property name="prot" value="P"/>
<property name="needClientAuth" value="true"/>
<property name="authValue" value="oleg"/>
<property name="sessionCreation" value="true"/>
<property name="protocols" value="SSL, TLS"/>
<property name="implicit" value="true"/>
</bean>
如果您遇到连接问题,并且想要跟踪会话创建以及查看哪些会话正在轮询,您可以通过将日志记录器设置为TRACE 级别来启用会话跟踪(例如,log4j.category.org.springframework.integration.file=TRACE )。 |
现在,您只需要将这些会话工厂注入到您的适配器中。适配器使用的协议(FTP或FTPS)取决于注入到适配器中的会话工厂的类型。
提供FTP或FTPS会话工厂值的更实用方法是使用Spring的属性占位符支持(请参见docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-placeholderconfigurer)。 |