Периодическое и рекурсивное извлечение файлов через SFTP с использованием Spring Integration - PullRequest
0 голосов
/ 04 июля 2018

Мне нужно периодически подключать к удаленному местоположению через SFTP и проверять наличие новых файлов. Если новые файлы поступили, мне нужно скачать их и переименовать. Я не удаляю удаленные файлы, и мне нужно только обработать их один раз.

Пока все хорошо.

Я могу сделать все это, используя Адаптер входящего канала SFTP в сочетании с Poller и SftpPersistentAcceptOnceFileListFilter .

Хитрость в том, что мне нужно сделать это рекурсивно , что, как мне кажется, уводит меня из сферы SFTP Inbound в SFTP Outbound Gateway .

Но, если я что-то упустил, это не поможет. Мне нужна периодическая входящая операция, поэтому я не могу использовать Poller с SFTP Outbound Gateway . И в идеале я не хочу заботиться о шаблоне имен структуры удаленного каталога.

Если честно, мои знания о Spring Integration не очень глубоки, так что, надеюсь, я упускаю что-то очевидное. И если это необходимо, я могу расширить Адаптер входящего канала SFTP , чтобы создать то, что мне нужно, с помощью библиотеки JSch (не уверен, даже если это целесообразно, но я буду читать об этом, пока я жду ответов на этот пост ).

Я просто не хочу разбираться с этим, когда есть более изящный или более стандартный способ решения этой моей проблемы.

Спасибо.

1 Ответ

0 голосов
/ 05 июля 2018

Мне нужна периодическая входящая операция, поэтому я не могу использовать Poller с SFTP Outbound Gateway.

Просто опросите адаптер входящего канала POJO, который возвращает каталог, который вы хотите опросить, и отправьте сообщение на исходящий шлюз.

Документы здесь . Он показывает конфигурацию XML, но это также можно сделать с помощью конфигурации Java или Java DSL.

...