Ok. As far as I can tell redelivery only takes place locally. Once you've taken a message another worker will not see it even if you call rollback. The message only goes back to the queue when the worker that took the message disconnects.
Is there another way to force the message to go back to the queue if you can't process it? corcorda wrote: > > I'm a bit confused about redelivery in ActiveMQ, any help would be great. > > What I want to happen is as follows: > Worker takes a message off the queue. > If worker fails and calls rollback() the message goes back onto the queue > for another worker to try. > If more than X workers fail the message is sent to the DLQ. > > What seems to actually happen is: > Worker calls rollback. > After a wait time same worker receives same message. > After maximumRedeliveries the message disappears but doesn't appear on > DLQ. > Also, which is very strange, other workers calling rollback on the message > don't seem to change its redeliveryCounter. > > Am I using redelivery in the wrong way? > > > -- View this message in context: http://www.nabble.com/Redelivery-behaviour-tf4466896s2354.html#a12753361 Sent from the ActiveMQ - User mailing list archive at Nabble.com.