Sftp из Windows Server Spring интеграции

У меня есть требование к sftp разных файлов на сервере.

Файлы, подлежащие доставке, находятся на сервере Windows.

Я подумал об использовании адаптеров Spring Integration для этой цели, так как я не только должен доставлять файлы, но и имею дополнительное требование записи информации метаданных в базу данных для каждой доставки файла.

У вас есть идеи, как я могу sftp несколько файлов, находящихся в общей папке Windows, передавать на другие серверы с помощью Spring интеграции?


person M06H    schedule 23.09.2017    source источник


Ответы (1)


Стандартный FileReadingMessageSource точно запрашивает функциональность: https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/files.html#file-reading.

Там вы можете использовать этот общий каталог Windows для извлечения файлов, а затем отправлять сообщения на SftpMessageHandler: https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/sftp.html#sftp-outbound.

Но поскольку мы имеем дело с каналами сообщений в Spring Integration, довольно легко отправлять сообщения в другое место, например. в JDBC.

person Artem Bilan    schedule 23.09.2017
comment
Спасибо, Артем. Не могли бы вы показать мне, как подключить класс записи метаданных JDBC для каждой передачи файлов, которую принимает FileReadingMessageSource и обрабатывает SftpMessageHandler? - person M06H; 24.09.2017
comment
Вы можете использовать PublishSubscribeChannel для этой задачи. И иметь в качестве подписчиков адаптеры каналов SFTP и JDBC. Конечно, вы можете найти эту информацию в упомянутом документе. Также вы можете узнать больше об интеграции Spring в репозитории примеров: github.com/spring-projects/ весенние интеграционные образцы - person Artem Bilan; 24.09.2017
comment
Привет, с FileReadingMessageSource, скажем, мое приложение размещено на хосте A и имеет доступ к сетевому пути Host B, может ли оно читать файлы с хоста B? Или файлы должны быть на хосте A - person M06H; 26.09.2017
comment
Да, он также может читать из сети или с подключенного устройства. Другими словами: насколько вы можете иметь дело с объектом File, пока FileReadingMessageSource полезен для вас. - person Artem Bilan; 26.09.2017