All,

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?

Thanks,
Michael




--
View this message in context: 
http://camel.465427.n5.nabble.com/Apache-camel-guaranteed-delivery-multiple-endpoints-tp5746503.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to