2015-05-01 5 views
7

В чем принципиальное отличие между входящими и исходящими канальными адаптерами?Весенняя интеграция - входящие и исходящие адаптеры канала

Любые примеры были бы очень полезными.

Я рассмотрел документы весны, и это «направленное» различие не ясно для меня. Я поддерживаю приложение, у которого настроен адаптер исходящего канала, но я нахожу счетчик поведения интуитивно понятным с исходящим ярлыком. Этот адаптер получает внешний файл, затем переносит его в в приложение, где мы анализируем файл и сохраняем данные.

Это похоже на вопрос this, но я хотел больше сосредоточиться на адаптерах каналов и, надеюсь, получить больше отзывов!

Спасибо!

+0

Основываясь на том, что вы сказали, кажется, что ваше приложение использует исходящий шлюз, который отличается от адаптера канала. Шлюз принимает сообщение, выполняет исходящую операцию (которая также может извлекать файл) и возвращает сообщение. Адаптер канала только однонаправлен (нет ответа). –

+0

Используется адаптер канала. Что я сказал, указывая на шлюз? Я могу исправить свои формулировки ... Вы можете увидеть конфигурацию в этом вопросе на родном языке http://stackoverflow.com/q/29994253/2860319 –

ответ

19

Адаптеры каналов предназначены для односторонней интеграции (шлюзы двунаправленные).

Конкретно входящие адаптеры находятся в начале потока, исходящие адаптеры завершают поток. Потоки, как правило, оказывается (и концептуально рассматривать как протекающий слева направо) ...

inbound-c-a->someComponent->someOtherComponent->outbound-ca 

(где -> представляет канал).

Есть два типа входящих адаптеров канала:

  • MessageProducer s
  • MessageSource s

MessageProducer s называется "управляемые сообщения", то есть они в одностороннем порядке выдавать сообщения в совершенно асинхронном как только они начнутся; примерами являются адаптер JMS-сообщения, адаптер входящего канала TCP, адаптер канала IMAP Idle (mail) и т. д.

MessageSource s с другой стороны опрошены - a poller с некоторым триггером заставляет фреймворк запрашивать источник для сообщение; триггер может иметь фиксированную скорость, выражение cron и т. д. Примерами являются (S) FTP-адаптеры, входящий входящий адаптер (POP3. IMAP).

Примерами исходящих адаптеров являются адаптер исходящей почты (SMTP).

Шлюзы двусторонние (запрос/ответ).

Входящие шлюзы, где какая-либо внешняя система отправляет запрос и запросы интеграции Spring.

Исходящие шлюзы, где интеграция с Spring выполняет запрос и некоторые внешние системные ответы.

Я надеюсь, что это прояснит ситуацию.

3

Входы и выходы являются относительными направлениями, он должен иметь основание. в весенней интеграции базой является платформа интеграции Spring (которая может рассматриваться как шина сообщений), адаптеры вставляют в нее сообщение, а адаптеры берут сообщение из него.

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