Talend ESB:如何从另一条路线呼叫一条路线?

时间:2016-07-19 03:16:00

标签: apache-camel esb talend

在Talend ESB,我很难弄清楚如何从一条路线呼叫另一条路线。

我做了很多搜索,找到了其他人提出的完全相同的问题,但它没有任何答案。所以我觉得在这里发一个问题可能是个好主意。 :)

这是问题的链接:

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

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

由于

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

另一个解决方案是使用JMS(ActiveMQ使用Talend播种并且工作正常)。 第一个路由的最后一个端点是一个cJMS,它将消息体发送给MQ Broker,然后这个队列将成为第二个路由的入口。

您也可以对文件端点执行相同操作,或者也可以使用CXF(Web服务)。