使用 RemoteFileTemplate

Spring Integration 3.0 版本在 SftpSession 物件之上提供了一個新的抽象。該模板提供了傳送、檢索(作為 InputStream)、刪除和重新命名檔案的方法。此外,我們提供了一個 execute 方法,允許呼叫者在會話上執行多個操作。在所有情況下,模板都會負責可靠地關閉會話。更多資訊,請參閱 RemoteFileTemplate 的 Javadoc。SFTP 有一個子類:SftpRemoteFileTemplate

我們在 4.1 版本中添加了其他方法,包括 getClientInstance()。它提供了對底層 ChannelSftp 的訪問,從而能夠訪問低級別 API。

5.0 版本引入了 RemoteFileOperations.invoke(OperationsCallback<F, T> action) 方法。此方法允許在同一個執行緒繫結的 Session 範圍內呼叫多個 RemoteFileOperations 呼叫。當您需要將 RemoteFileTemplate 的多個高階操作作為一個工作單元執行時,此方法非常有用。例如,AbstractRemoteFileOutboundGateway 將其用於 mput 命令實現,在該實現中,我們對給定目錄中的每個檔案及其子目錄遞迴執行 put 操作。更多資訊請參閱 Javadoc