diff --git a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/session/SftpSession.java b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/session/SftpSession.java index 3f70de83c3..55cdbc560c 100644 --- a/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/session/SftpSession.java +++ b/spring-integration-sftp/src/main/java/org/springframework/integration/sftp/session/SftpSession.java @@ -109,12 +109,15 @@ public class SftpSession implements Session { } this.userInfo = new OptimisticUserInfoImpl(userPassword); this.jschSession.setUserInfo(userInfo); + this.connect(); } void connect() { try { - this.jschSession.connect(); - this.channel = (ChannelSftp) this.jschSession.openChannel("sftp"); + if (!this.jschSession.isConnected()) { + this.jschSession.connect(); + this.channel = (ChannelSftp) this.jschSession.openChannel("sftp"); + } } catch (JSchException e) { throw new IllegalStateException("failed to connect", e);