Thanks for your reply. I have tried to set prefetch to 0. But this does not work for async sessions. I have to set it to a minimum of 1 because I would like to use the MessageListener concept and do not want to construct a sync session where I have to call receive() myself.
Now, the effect of this is strange. If I have a couple of messages, say 1 to 10, where message 3 is not acked, then I still get message 4 before my consumer does not proceed. Then, after recover(), I get messages 3 (redelivery), 5 and 6. If I do not ack message 6, I still get message 7, bevore the consumer stops. And so on. So the message order in my app is not guaranteed: 1, 2, 4, recover() 3, 5, 7, recover() 6, 8, ... Any further hints? -- View this message in context: http://activemq.2283324.n4.nabble.com/Stop-and-resume-message-consuming-tp4670118p4670141.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.