У вас есть конкретные c бизнес-требования, и даже если у нас есть образцы в Java, это не означает, что ваш сценарий использования будет рассмотрен там. Мы полностью открыты для участия в проекте примеров, о которых Олег упоминает в своих комментариях, но это уже ваше сообщество. Здесь мы действительно не можем угадать все варианты использования поля, которые нужно охватить в образце.
Некоторое решение по вашему запросу может быть следующим:
-
fileInputChannel
должен быть PublishSubscribeChannel
с вашим существующим fileWritingMessageHandler()
в качестве второго абонента. - Вы добавляете первого подписчика (
@ServiceActivator
) для обработки этого файла и, как вы сказали, сохраняете в БД, который определенно может быть следующим @ServiceActivator
после этого.
См. @Order
аннотацию, которая будет присутствовать вместе с упомянутой @ServiceActivator
, чтобы убедиться, что ваши подписчики подписаны в правильном порядке. Поскольку вы действительно собираетесь переместить файл, очень важно обработать его перед отправкой на этот FileWritingMessageHandler
.
Эту задачу также можно выполнить с помощью Java DSL, и даже, возможно, ее код может быть намного короче ,
Сказав, что я бы попросил вас прочитать документацию, начиная с EIP Book , чтобы ознакомиться с концепциями и принципами интеграции.