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) メソッドを導入しました。このメソッドを使用すると、同じスレッドでバインドされた Session のスコープ内でいくつかの RemoteFileOperations 呼び出しを呼び出すことができます。これは、RemoteFileTemplate の複数の高レベル操作を 1 つの作業単位として実行する必要がある場合に役立ちます。例: AbstractRemoteFileOutboundGateway は mput コマンドの実装でそれを使用し、提供されたディレクトリ内の各ファイルに対して、およびそのサブディレクトリに対して再帰的に put 操作を実行します。詳細については、Javadoc を参照してください。