might take a look at the idempotent consumer pattern to filter duplicates...it can be used with a repository (hazelcast, file, etc) to survive servers restarts, etc
http://camel.apache.org/idempotent-consumer.html MichaelAtSAG wrote > 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 ----- Ben O'Day IT Consultant -http://consulting-notes.com -- View this message in context: http://camel.465427.n5.nabble.com/Apache-camel-guaranteed-delivery-multiple-endpoints-tp5746503p5746607.html Sent from the Camel - Users mailing list archive at Nabble.com.