使用 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 以取得更多資訊。