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