Guaranteed Delivery

Camel supports the Guaranteed Delivery from the EIP patterns using among others the following components:

  • File for using file systems as a persistent store of messages

  • JMS when using persistent delivery, the default, for working with JMS queues and topics for high performance, clustering and load balancing

  • Kafka when using persistent delivery for working with streaming events for high performance, clustering and load balancing

  • JPA for using a database as a persistence layer, or use any of the other database components such as SQL , JDBC , or MyBatis

image

Example

The following example demonstrates illustrates the use of Guaranteed Delivery within the JMS component.

By default, a message is not considered successfully delivered until the recipient has persisted the message locally guaranteeing its receipt in the event the destination becomes unavailable.

  • Java

  • XML

from("direct:start")
    .to("jms:queue:foo");
<route>
    <from uri="direct:start"/>
    <to uri="jms:queue:foo"/>
</route>