FTP セッションファクトリ

Spring Integration は、FTP(または FTPS)セッションの作成に使用できるファクトリを提供します。

デフォルトのファクトリ

バージョン 3.0 以降、セッションはデフォルトでキャッシュされなくなりました。FTP セッションキャッシングを参照してください。

FTP アダプターを構成する前に、FTP セッションファクトリを構成する必要があります。実装クラスが o.s.i.ftp.session.DefaultFtpSessionFactory である通常の Bean 定義で FTP セッションファクトリを構成できます。次の例は、基本的な構成を示しています。

<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 を参照)。