If I send a reliable message to a server, and it gets added to the queue on the server and
persisted, but the server fails before the response is written back to the client,
resulting in the client getting an exception even though the message was added
successfully to the queue.
A consumer then consumes the message from the queue, and acknowledges it.
The client has now caught the exception and it assumes the send failed so it resends the
message again, the message gets consumed by the client, resulting in the client having
consumed the message twice.
I.e. we have broken the once and only once delivery guarantee.
The only way around this AFAICT is to send all messages 2PC, and make the commit on the
2PC transaction.
What am I missing here? Am I losing my mind?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3977038#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...