Dec 28th, 2010, 10:51 PM
1.0.0.M2 Auto-Ack Problem
I recently switched my app from 1.0.0.M1 to M2, and have noticed that now when I monitor runs in the rabbit admin console, I no longer see un-ack'd messages in the queue. This makes me worry that messages are being auto acknowledged at the time of delievery.
This seems to be a problem in case the message experiences a problem during processing, as there won't be any way for the listener to send a reject and put it back on the queue.
Can someone provide some update as to what the changes were for this between M1 and M2, as the release notes don't say anything about it,.
Dec 29th, 2010, 11:39 AM
So I solved this problem. When moving to M2, you have to explicitly set the listener to Transctional and supply a transaction manager. Then it starts acking messages correctly
Dec 29th, 2010, 04:06 PM
Coincidentally,this should have been in the release notes. As switching to start auto-acking messages is kind of a big deal.
Dec 30th, 2010, 01:39 AM
The transaction and acking options are described in the user guide (a new section in M2): http://static.springsource.org/sprin...single/#d0e495. A transaction manager is optional, and auto-ack should still be the default, so if it's not it's a probably a bug.