Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 26. Direct

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.
The VM component provides connections between Camel contexts as long they run in the same JVM.

URI format

Where someName can be any string to uniquely identify the endpoint


Name Default Value Description
allowMultipleConsumers true @deprecated 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.
block false Camel 2.11.1: If sending a message to a direct endpoint which has no active consumer, then we can tell the producer to block and wait for the consumer to become active.
timeout 30000 Camel 2.11.1: The timeout value to use if block is enabled.
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"/>

     <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.