Talend ESB:如何从另一条路线调用一条路线?

Talend ESB : How to call one route from another route?

在 Talend ESB 中,我很困惑如何从一个路由调用另一个路由。

我进行了大量搜索,发现与其他人提出的问题完全相同,但没有任何答案。所以我认为 post 在这里提问可能是个好主意。 :)

这是问题的link:

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

如果有人能提供帮助,我们将不胜感激!

谢谢

您可以使用 cDirectVM 和 cSEDA。 cDirectVM 会将交换发送到另一个具有相同名称的 cDirectVM 端点,并阻止第一个路由,直到第二个路由完成(同步)。 cSEDA是异步的,第一条路由不会等待第二条路由处理交换。

cDirectVM 的文档:https://help.talend.com/display/TalendESBMediationComponentsReferenceGuide60EN/cDirectVM

请注意,这在 studio 中不可测试,当您在 studio 中启动 2 条路由时,它们将 运行 在单独的 JVM 中,因此它们不会看到彼此,cDirectVM 将失败。但是,如果您在 Talend 运行 时间启动 2 条路线,cDirectVM 将在 2 条路线之间工作。

另一种解决方案是使用 JMS(ActiveMQ 与 Talend 一起播种并且工作正常)。 您的第一条路线的最后一个端点将是一个将消息正文发送到 MQ Broker 的 cJMS,然后该队列将成为您第二条路线的入口。

您也可以对文件端点或 CXF(网络服务)执行相同的操作。