Talend ESB: Как позвонить по одному маршруту из другого маршрута?

apache-camel esb talend

513 просмотра

2 ответа

97 Репутация автора

В Talend ESB мне трудно понять, как вызвать другой маршрут из одного маршрута.

Я провел немало поисков и нашел точно такой же вопрос, заданный кем-то другим, но на него нет ответа. Поэтому я подумал, что было бы неплохо написать вопрос здесь. :)

Вот ссылка на вопрос:

https://www.talendforge.org/forum/viewtopic.php?id=32416

Буду очень признателен, если кто-нибудь может помочь!

Спасибо

Автор: swifty Источник Размещён: 19.07.2016 03:16

Ответы (2)


3 плюса

440 Репутация автора

Решение

Вы можете использовать cDirectVM и cSEDA. cDirectVM отправит обмен другой конечной точке cDirectVM с тем же именем и заблокирует первый маршрут до второго завершения (синхронно). cSEDA является асинхронным, первый маршрут не будет ждать второй маршрут для обработки обмена.

Документация для cDirectVM: https://help.talend.com/display/TalendESBMediationComponentsReferenceGuide60EN/cDirectVM

Имейте в виду, что это невозможно проверить в студии, когда вы запускаете 2 маршрута внутри студии, они будут работать в отдельной JVM, и, таким образом, они не будут видеть друг друга, и cDirectVM потерпит неудачу. Но если вы запустите 2 маршрута во время выполнения Talend, cDirectVM будет работать между двумя маршрутами.

Автор: PCO Размещён: 11.08.2016 01:17

1 плюс

80 Репутация автора

Еще одно решение - использовать JMS (ActiveMQ засеяна Talend и работает нормально). Последней конечной точкой вашего первого маршрута будет cJMS, который отправляет тело сообщения брокеру MQ, тогда эта очередь будет входом вашего второго маршрута.

То же самое можно сделать и с конечными точками файлов, или с CXF (веб-сервисы).

Автор: Loko Размещён: 24.02.2017 11:41
Вопросы из категории :
32x32