For the latest stable version, please use Spring Integration 6.4.0!spring-doc.cn

SFTP Adapters

Spring Integration provides support for file transfer operations over SFTP.spring-doc.cn

The Secure File Transfer Protocol (SFTP) is a network protocol that lets you transfer files between two computers on the Internet over any reliable stream.spring-doc.cn

The SFTP protocol requires a secure channel, such as SSH, and visibility to a client’s identity throughout the SFTP session.spring-doc.cn

Spring Integration supports sending and receiving files over SFTP by providing three client side endpoints: inbound channel adapter, outbound channel adapter, and outbound gateway. It also provides convenient namespace configuration to define these client components.spring-doc.cn

Starting with version 6.0, an outdated JCraft JSch client has been replaced with modern Apache MINA SSHD framework. This caused a lot of breaking changes in the framework components. However, in most cases, such a migration is hidden behind Spring Integration API. The most drastic changed has happened with a DefaultSftpSessionFactory which is based now on the org.apache.sshd.client.SshClient and exposes some if its configuration properties.

You need to include this dependency into your project:spring-doc.cn

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

To include the SFTP namespace in your xml configuration, include the following attributes on the root element:spring-doc.cn

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"