Параллельная обработка Spring Integration Flow с одним возвратом сообщения - PullRequest
0 голосов
/ 05 ноября 2019

Мне поручено настроить приложение, которое работает следующим образом:

1) получить TCP> Преобразовать> отправить TCP> получить TCP> Журнал> Сообщение ответа> отправить ответ TCP

получитьTCP> Преобразование> отправка HTTP> получение HTTP> Журнал> Нуль

2)
получение TCP> Преобразование> отправка TCP> получение TCP> Журнал> Нуль
получение TCP> Преобразование> отправка HTTP> получениеHTTP> Журнал> Преобразовать ответное сообщение> отправить ответ TCP

Только один из параллельных процессов сгенерирует ответ, другой будет отправлен на нулевой канал после регистрации. У меня это работает для каждого отдельного процесса с использованием .route (), но когда я попытался использовать routeToRecipients, я не мог получить сообщение возврата (в одну сторону). Когда я попробовал publishSubscribeChannel, поток завершается после шага «получить HTTP / TCP», сообщение не отправляется обратно через TCP. Я использую Executors.newCachedThreadPool (). Как я могу получить один (только один) из параллельных каналов, чтобы вернуть сообщение обратно в исходное TCP-соединение? Каков наилучший подход?
Любая помощь или указатели приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...