SFTP 适配器

Spring Integration 提供了对 SFTP 上的文件传输操作的支持。

安全文件传输协议 (SFTP) 是一种网络协议,允许您在互联网上通过任何可靠的流在两台计算机之间传输文件。

SFTP 协议需要安全通道,例如 SSH,并且在整个 SFTP 会话期间需要对客户端身份可见。

Spring Integration 通过提供三个客户端端点来支持通过 SFTP 发送和接收文件:入站通道适配器、出站通道适配器和出站网关。它还提供方便的命名空间配置来定义这些客户端组件。

从 6.0 版本开始,过时的 JCraft JSch 客户端已被现代化的 Apache MINA SSHD 框架取代。这在框架组件中引起了许多重大变化。但是,在大多数情况下,这种迁移隐藏在 Spring Integration API 后面。最剧烈的变化发生在 DefaultSftpSessionFactory 上,它现在基于 org.apache.sshd.client.SshClient 并公开了一些配置属性。

您需要将此依赖项包含到您的项目中

  • Maven

  • Gradle

<dependency>
    <groupId>org.springframework.integration</groupId>
    <artifactId>spring-integration-sftp</artifactId>
    <version>6.3.0</version>
</dependency>
compile "org.springframework.integration:spring-integration-sftp:6.3.0"

要在您的 xml 配置中包含 SFTP 命名空间,请在根元素上包含以下属性

xmlns:int-sftp="http://www.springframework.org/schema/integration/sftp"
xsi:schemaLocation="http://www.springframework.org/schema/integration/sftp
    https://www.springframework.org/schema/integration/sftp/spring-integration-sftp.xsd"