Search code examples
apache-camelesbtalend

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


In Talend ESB, I am troubled to figure out how to call another route from one route.

I have done quite a bit of search and found exactly the same question asked by someone else but it doesn't have any answer. So I thought It might be a good idea to post a question here. :)

Here's the link of the question:

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

Would be really appreciated if anyone could help!

Thanks


Solution

  • You can use cDirectVM and cSEDA. cDirectVM will send the exchange to another cDirectVM endpoint with the same name and block the first route until the second finish (synchronous). cSEDA is asynchronous, the first route will not wait for the second route to process the exchange.

    Documentation for cDirectVM : https://help.talend.com/display/TalendESBMediationComponentsReferenceGuide60EN/cDirectVM

    Be aware that this is not testable in studio, when you start 2 routes inside the studio, they will run in separate JVM and thus they will not see each other and cDirectVM will fail. But if you launch the 2 routes on the Talend runtime, cDirectVM will work between the 2 routes.