使用 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。