Return Address

Camel supports the Return Address from the EIP patterns by using the JMSReplyTo header.

image

For example when using JMS with InOut the component will by default return to the address given in JMSReplyTo.

Requestor Code

getMockEndpoint("queue:bar").expectedBodiesReceived("Bye World");

template.sendBodyAndHeader("direct:start", "World", "JMSReplyTo", "queue:bar");

Route Using the Fluent Builders

from("direct:start").to("activemq:queue:foo?preserveMessageQos=true");

from("activemq:queue:foo").transform(body().prepend("Bye "));

from("activemq:queue:bar?disableReplyTo=true").to("mock:bar");

Route Using the Spring XML Extensions

<route>
  <from uri="direct:start"/>
  <to uri="activemq:queue:foo?preserveMessageQos=true"/>
</route>

<route>
  <from uri="activemq:queue:foo"/>
  <transform>
      <simple>Bye ${in.body}</simple>
  </transform>
</route>

<route>
  <from uri="activemq:queue:bar?disableReplyTo=true"/>
  <to uri="mock:bar"/>
</route>

For a complete example of this pattern, see this junit test case