Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository:

Direct Component

The direct: component provides direct, synchronous invocation of any consumers when a producer sends a message exchange. This endpoint can be used to connect existing routes in the same camel context.


The SEDA component provides asynchronous invocation of any consumers when a producer sends a message exchange.

Connection to other camel contexts

The VM component provides connections between Camel contexts as long they run in the same JVM.

URI format


Where someName can be any string that uniquely identifies the endpoint.



Default Value





If set to false, then when a second consumer is started on the endpoint, an IllegalStateException is thrown.

Will be removed in Camel 2.1: Direct endpoint does not support multiple consumers.



Camel 2.11.1: If sending a message to a direct endpoint which has no active consumer, the producer will block for timeout milliseconds waiting for a consumer to become active.



Camel 2.11.1: The timeout value, in milliseconds, to block, when enabled, for an active consumer.



Camel 2.16.0: Indicates whether the producer should fail by throwing an exception when sending to a direct endpoint with no active consumers.

You can append query options to the URI in the following format: ?option=value&option=value&...



In the route below we use the direct component to link the two routes together:



And the sample using spring DSL:

     <from uri=""/>
     <to uri="bean:orderService?method=validate"/>
     <to uri="direct:processOrder?failIfNoConsumers=false"/>

     <from uri="direct:processOrder"/>
     <to uri="bean:orderService?method=process"/>
     <to uri="activemq:queue:order.out"/>

See also samples from the SEDA component, how they can be used together.

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram