在Talend ESB,我很难弄清楚如何从一条路线呼叫另一条路线。
我做了很多搜索,找到了其他人提出的完全相同的问题,但它没有任何答案。所以我觉得在这里发一个问题可能是个好主意。 :)
这是问题的链接:
https://www.talendforge.org/forum/viewtopic.php?id=32416
如果有人能提供帮助,我们将非常感激!
由于
答案 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服务)。