Spring Integration - Как я могу разделить рабочий процесс на два канала? - PullRequest
1 голос
/ 06 марта 2019

Доброе утро всем, я ищу способ разделить наш рабочий процесс на два разных канала.

          -> C1
 A -> B ->
          -> C2

Я довольно новичок в Spring в целом и только что работал мой путья не смог найти решение.

Рабочий процесс, который у меня есть, использует int-файл для чтения исходных данных и передает их различным каналам, таким как A - B, но мне нужнобыть в состоянии отправить все мои данные по двум уникальным каналам, которые делают совершенно разные вещи.

Какие теги или темы должны использоваться для того, чтобы я отправлял полные данные каждому изКаналы C1 / C2?

1 Ответ

4 голосов
/ 06 марта 2019

Для этого вам необходимо использовать маршрутизатор списка получателей Шаблон EI: https://www.enterpriseintegrationpatterns.com/patterns/messaging/RecipientList.html

В Spring Integration есть реализация по этому вопросу: https://docs.spring.io/spring-integration/docs/current/reference/html/#router-implementations-recipientlistrouter

Итак, у вас есть один input-channel, и вы настраиваете recipient для каждого канала, который вы хотите распространять одно и то же сообщение.

Пример Loan Broker имеет некоторую конфигурацию по этому вопросу: https://github.com/spring-projects/spring-integration-samples/tree/master/applications/loan-broker

Вариант Java DSL описан здесь: https://docs.spring.io/spring-integration/docs/current/reference/html/#java-dsl-routers

...