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.