Point to Point Channel
Camel supports the Point to Point Channel from the EIP patterns.
An application is using Messaging to make remote procedure calls (RPC’s) or transfer documents.
How can the caller be sure that exactly one receiver will receive the document or perform the call?
Send the message on a Point-to-Point Channel, which ensures that only one receiver will receive a particular message.
The Point to Point Channel is supported in Camel by messaging based Components, such as:
AMQP for working with AMQP Queues
SEDA for internal Camel seda queue based messaging
Spring RabbitMQ for working with AMQP Queues (RabbitMQ)
There are also messaging based in the cloud from cloud providers such as Amazon, Google and Azure.
|See also the related Publish Scribe Channel EIP|
The following example demonstrates point to point messaging using the JMS component:
from("direct:start") .to("jms:queue:foo"); from("jms:queue:foo") .to("bean:foo");
And in XML:
<routes> <route> <from uri="direct:start"/> <to uri="jms:queue:foo"/> </route> <route> <from uri="jms:queue:foo"/> <to uri="bean:foo"/> </route> </routes>