You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

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.

Asynchronous

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

direct:someName[?options]

Where someName can be any string to uniquely identify the endpoint

Options

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.

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

Samples

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

from("activemq:queue:order.in").to("bean:orderServer?method=validate").to("direct:processOrder");

from("direct:processOrder").to("bean:orderService?method=process").to("activemq:queue:order.out");

And the sample using spring DSL:

   <route>
     <from uri="activemq:queue:order.in"/>
     <to uri="bean:orderService?method=validate"/>
     <to uri="direct:processOrder"/>
  </route>

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

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

  • No labels