Using RemoteFileTemplate

Spring Integration 3.0 版本提供了一个关于 SftpSession 对象的新抽象。该模板提供了一些方法来发送、检索(作为 InputStream)、删除和重命名文件。此外,我们提供了一个 execute 方法,以便呼叫方在会话中运行多项操作。在所有情况下,该模板都会小心地关闭会话。有关更多信息,请参阅 Javadoc for RemoteFileTemplate。SFTP 有一个子类: SftpRemoteFileTemplate

我们在版本 4.1 中添加了更多方法,其中包括 getClientInstance()。它允许访问基础 ChannelSftp, 进而访问底层 API。

5.0 版本引入了 RemoteFileOperations.invoke(OperationsCallback<F, T> action) 方法。该方法让一些 RemoteFileOperations 调用在相同的线程有界 Session 的范围中被调用。当您需要执行 RemoteFileTemplate 的一些高级操作作为一个工作单元时,这会很有用。例如,AbstractRemoteFileOutboundGatewaymput 命令实现中使用它,其中我们针对提供的目录中的每个文件执行一个 put 操作,并且针对其子目录递归地执行该操作。有关更多信息,请参阅 Javadoc