Я хотел бы создать сеанс sftp для загрузки файлов с помощью Apache Commons vfs2.
Как мне это сделать?
У меня есть мой код, как показано ниже. Но проблема в том, что manager.resolve продолжает открывать соединение.
Я хотел бы провести сеанс в течение 5 минут и закрыть его, когда он не используется, и снова открыть сеанс, когда это необходимо. Это будет возможно?
public void download() {
StandardFileSystemManager manager = new StandardFileSystemManager();
FileSystemOptions fileSystemOptions = new FileSystemOptions();
SftpFileSystemConfigBuilder.getInstance()
.setStrictHostKeyChecking(fileSystemOptions, "no");
SftpFileSystemConfigBuilder.getInstance()
.setUserDirIsRoot(fileSystemOptions, true);
SftpFileSystemConfigBuilder.getInstance()
.setTimeout(fileSystemOptions, 10000);
SftpFileSystemConfigBuilder.getInstance()
.setPreferredAuthentications(fileSystemOptions, "password");
try {
manager.init();
File f = new File("myfolder");
final FileObject localFolder = manager.resolveFile(f.toURI());
final FileObject remoteFile = manager.resolveFile(remoteURI, fileSystemOptions);
localFolder.copyFrom(remoteFile, Selectors.SELECT_FILES);
} finally {
manager.freeUnusedResources();
manager.close();
}
}