camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From MichaelAtSAG <>
Subject Apache camel guaranteed delivery - multiple endpoints
Date Mon, 27 Jan 2014 16:33:09 GMT

Please provide best practices on supporting guaranteed delivery with routes
that containing multiple endpoints. Our system writes to a ehCache with
persistence on the producer, then routes to all endpoints. Once all
endpoints receive the message and the route completes, the message is
removed from the producer ehCache queue. In case of producer failure, like
JVM crash, the in-process messages are restored from ehCache upon restart.

One concern is that this can result in duplicates being sent to certain
endpoints. For example, route contains endpoints a,b,c. A message is sent to
a and b, and then the producer jvm crashes. The message remains in the
producer guaranteed delivery queue and will be resubmitted once the producer
JVM restarts and sent to a,b,c. This results in duplicates to a and b. 

Our Camel routes support duplicate message detection in the consumer. We
encourage consumers to implement this pattern in case duplicates are not
acceptable, yet it is a performance hit.

Any best practices on this? 
Any examples or techniques on suppressing the resend from routes to
endpoints a and b on the producer-side?


View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message