LibraryLink ToToggle FramesPrintFeedback

Chapter 57. VM

The vm: component provides asynchronous SEDA behavior so that messages are exchanged on a BlockingQueue and consumers are invoked in a separate thread pool to the producer.

This component differs from the Seda component in that VM supports communication across CamelContext instances so you can use this mechanism to communicate across web applications, provided that the camel-core.jar is on the system/boot classpath.

This component is an extension to the Seda component.

vm:someName

Where someName can be any string to uniquely identify the endpoint within the JVM (or at least within the classloader which loaded the camel-core.jar)

Name Default Description
size 1000 The maximum size of the SEDA queue

In the route below we send the exchange to the VM queue that is working across CamelContext instances.

from("direct:in").bean(MyOrderBean.class).to("vm:order.email");

And then in another Camel context such as deployed as in another .war application:

from("vm:order.email").bean(MyOrderEmailSender.class);