Я заметил, что метод get () & list () get () & list () Spring Integration подключает, выполняет и отключает за вызов. Поэтому, если мне нужно скачать 10 файлов, он также подключится, выполнится и отключится 10 раз (я только что заметил это в журналах).
Есть ли способ в SI, который я могу подключить один раз, затем загрузить несколько файлов и затем закройте и выйдите?
Я настроил DefaultSftpSessionFactory с Caching и вот как я использовал sftpRemoteFileTemplate.
ChannelSftp.LsEntry[] files = sftpTemplate.list(targetPath);
Stream.of(files).filter(file -> file.getFilename().endsWith(".log"))
.forEach(file -> {
sftpTemplate.get(targetPath.concat("/").concat(file.getFilename()),
is -> FileCopyUtils.copy(is, new FileOutputStream(destinationFolder.toString().concat("/").concat(file.getFilename()))));
});
PS: я не хочу опрашивать файлы. Я просто хочу открыть соединение, получить файлы и выйти. Спасибо.