Весенняя интеграция в папку опроса и вызов REST с содержимым файла

#spring-boot #spring-integration

Вопрос:

Вариант использования заключается в том, что мне нужно опросить папку на удаленном сервере, и если в эту папку скопирован новый файл, мне нужно вызвать API REST get с содержимым файла. API REST обработает содержимое файла с помощью пакета Spring.

Я пытаюсь использовать интеграцию Spring boot для этой цели, но у меня возникают проблемы с поиском пути. Является ли интеграция Spring наиболее подходящей для этой цели? Если да, могу ли я привести простой пример того, как только интеграция Spring забирает файл и вызывает REST API?

Или я могу просто использовать службу Java Watcher?

Ответ №1:

Не ясно, что такое ваша удаленная папка, но вы все равно не можете использовать Java WatchService для этой цели. Обычно удаленный каталог находится на FTP (Ах). Интеграция Spring предоставляет адаптеры каналов для опроса такого удаленного каталога по упомянутому протоколу.

Смотрите дополнительную информацию в документах: https://docs.spring.io/spring-integration/docs/current/reference/html/ftp.html#ftp-inbound

Вероятно, вам не нужно иметь локальную копию удаленной службы, тогда вы можете рассмотреть возможность использования адаптера потокового канала вместо этого: https://docs.spring.io/spring-integration/docs/current/reference/html/ftp.html#ftp-streaming

Поскольку содержимое файла передается в канал, настроенный в этом адаптере канала, вы можете использовать адаптер исходящего канала HTTP для вызова некоторого REST API: https://docs.spring.io/spring-integration/docs/current/reference/html/http.html#http-outbound

Вы можете изучить образцы проекта для получения некоторого вдохновения: https://github.com/spring-projects/spring-integration-samples