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

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.
Using the Fluent Builders
from("direct:start")
.to("jms:queue:foo"); |
Using the Spring XML Extensions
<route> <from uri="direct:start"/> <to uri="jms:queue:foo"/> </route> |