The communication between remote routes
In Camel, when you are local to one Karaf instance, you have different ways to use a route from another route as follows:
The
direct
endpoint is synchronous, which is local to oneCamelContext
(only routes in the sameCamelContext
component can communicate usingdirect
).The
direct-vm
endpoint is exactly the same asdirect
but global to the JVM. It means that routes from differentCamelContext
can communicate usingdirect-vm
.The staged event-driven architecture (SEDA) endpoint is asynchronous, which is local to one
CamelContext
(only routes in the sameCamelContext
component can communicate using SEDA). Aseda
endpoint (producer) creates a queue (BlockingQueue
) and pushes messages in this queue. Anotherseda
endpoint (consumer) consumes from this queue. A producer and consumer use different threads.The
vm
endpoint is exactly the same asseda
but global to the JVM. It means that routes from differentCamelContext
can communicate usingvm
.
These components...