最新の安定バージョンについては、Spring Integration 7.1.0 を使用してください!

RemoteFileTemplate を使用する

Spring Integration バージョン 3.0 は、SftpSession オブジェクトの新しい抽象化を提供します。このテンプレートは、ファイルを送信、取得(InputStream として)、削除、名前変更するためのメソッドを提供します。さらに、呼び出し側がセッションで複数の操作を実行できるようにする execute メソッドを提供します。すべての場合において、テンプレートはセッションを確実に閉じるように配慮します。詳細については、RemoteFileTemplate の Javadoc を参照してください。SFTP にはサブクラス SftpRemoteFileTemplate (Javadoc) があります。

getClientInstance() を含む追加のメソッドをバージョン 4.1 に追加しました。下位の ChannelSftp へのアクセスを提供し、低レベル API へのアクセスを可能にします。

バージョン 5.0 では、RemoteFileOperations.invoke(OperationsCallback<F, T> action) メソッドが導入されました。このメソッドにより、複数の RemoteFileOperations 呼び出しを、同じスレッド境界を持つ Session のスコープ内で呼び出すことができます。これは、RemoteFileTemplate の複数の高レベル操作を 1 つの作業単位として実行する必要がある場合に便利です。たとえば、AbstractRemoteFileOutboundGateway は mput コマンド実装でこのメソッドを使用し、指定されたディレクトリ内の各ファイルに対して put 操作を実行し、そのサブディレクトリに対して再帰的に操作を実行します。詳細については、Javadoc を参照してください。