Hi,

I need some clarification - it's maybe more at the activemq level but here
goes...

We have a situation where we have a consumer where we don't want to process
the same message twice. It's a legacy booking system where this will result
in double booking the same payment.

We are trying to recreate a catastrophic failure of the camel process where
it is using an activemq embedded broker with persistent queues. So "same
message" here is the physical message on the bus.

We may receive another message for the same payment, but we DO want to
process that. 

When we kill our java process, any message that is not fully processed is
indeed recovered from activemq's journal and sent processed again.

However when we inspect the second "recovered" underlying jms message it has
a NEW messageId.

I was expecting it to have the original messageId.

I was going to use this as a synthetic idempotency key.

I was also hoping that "recovered" messages from the journal would be tagged
in some way ("redeliveryCounter" goes from 0 to 1?).

This would make it even easier for our system to ignore these messages.

In our case it's if in doubt, don't retry, just manually intervene. If we
could see the message as "recovered" we could route it accordingly.

thanks for any help,

Neil
-- 
View this message in context: 
http://www.nabble.com/Recovery-in-activemq-tf4391171s22882.html#a12519648
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to