2015-06-24 1 views
1

Мне представлен следующий пример использования.Копирование нескольких файлов из разных источников в различные пункты назначения с помощью интеграции Spring

Я получаю Message<Foo> объект на моем входном канале, где Foo объект имеет 2 свойства

public class Foo { 
    ... 
    public String getSourcePathString(); 
    public String getTargetPathString(); 
    ... 
} 

sourcePathString является строка, которая обозначает, где исходный файл находится, в то время как targetPathString это место, где файл должен скопировать в.

Теперь я знаю, как использовать file:outbound-channel-adapter, чтобы скопировать файл пользовательского целевого местоположения с помощью FileNameGenerator, однако, я не знаю, как я могу предоставить место, где прочитать файл из в file:inbound-channel-adapter и как активировать чтение, когда сообщение получено только.

Что я до сих пор являюсь персонализированным активатором службы, где выполняю копирование в своем собственном компоненте, однако я бы хотел попробовать использовать Spring Integration для него.

Итак, есть ли способ реализовать триггерное копирование файлов в Spring Integration с уже существующими компонентами?

ответ

0

Динамическое изменение каталога ввода в динамическом адаптере входящего канала невозможно.

Предстоящий выпуск 4.2 имеет динамические индикаторы, которые позволили бы это сделать.

Однако, кажется, адаптер не подходит для вашего случая использования - это опрошенный адаптер, тогда как вы хотите получить файл по требованию.

Вы можете свести к минимуму свой код пользователя, настроив FileReadingMessageSource, установить каталог и позвонить , чтобы получить файл.

Смежные вопросы