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