Spring Integration Sftp скачивает файлы за одну транзакцию - PullRequest
0 голосов
/ 14 апреля 2020

Я заметил, что метод 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: я не хочу опрашивать файлы. Я просто хочу открыть соединение, получить файлы и выйти. Спасибо.

...