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 component such as SQL, JDBC, or MyBatis
![image](_images/eip/GuaranteedMessagingSolution.gif)
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
-
from("direct:start") .to("jms:queue:foo");
- XML
-
<route> <from uri="direct:start"/> <to uri="jms:queue:foo"/> </route>