мой application.properties
файл выглядит так:
sftp.host=0.0.0.0
sftp.port=22
sftp.user=foo
sftp.password=pass
и мой класс загрузки с методом загрузки выглядит так:
public class UpAndDownLoad {
@Value("${sftp.host}")
private String sftpHost;
@Value("${sftp.port}")
private int sftpPort;
@Value("${sftp.user}")
private String sftpUser;
@Value("${sftp.password}")
private String sftpPasword;
private DefaultSftpSessionFactory getSftpFactory() {
DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory();
factory.setHost(sftpHost);
factory.setPort(sftpPort);
factory.setAllowUnknownKeys(true);
factory.setUser(sftpUser);
factory.setPassword(sftpPasword);
return factory;
}
public void upload() throws IOException {
SftpSession session = getSftpFactory().getSession();
InputStream resourceAsStream = UpAndDownLoad.class.getClassLoader().getResourceAsStream("mytextfile.txt");
session.write(resourceAsStream, "upload/mynewfile" + LocalDateTime.now() + ".txt");
session.close();
}
Всякий раз, когда я печатаю значения хоста sftp пользователь, пароль, метод загрузки работает дотошно.
private DefaultSftpSessionFactory getSftpFactory() {
DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory();
factory.setHost("0.0.0.0");
factory.setPort(22);
factory.setAllowUnknownKeys(true);
factory.setUser("foo");
factory.setPassword("passs");
return factory;
}
Но как только я передаю значения из свойств приложения, как показано во втором блоке кода, происходит сбой: java.lang.IllegalStateException: failed to create SFTP Session