I don't think that the retroactive consumer feature guarantees delivery of all messages sent while the consumer was inactive. The way this feature is described, it is more of a best-attempt effort to deliver the messages.
http://activemq.apache.org/retroactive-consumer.html Have you considered using virtual topics? Joe Goto www.ttmsolutions.com for a free ActiveMQ user guide vkumar wrote: > > We are using ActiveMQ 4.1.1 and a retroactive consumer does not receive > all messages. > OS: Windows 2003 Server > Java: 1.5.0_11 > In this particular case, we had 403 messages on the queue, we call > receiveNoWait() in a loop and after N messages where N < 403, > receiveNoWiat() returns nothing. The value of N varies depending on the > prefetch count set. If prefetch is set to 1, then N varies between 2-10. > If prefetch is 32, then N varies betweeen 30-70. If we don't set prefetch > at all (I guess default is 1000), then we get all messages. > > Each message is about 1Mbyte. We would like to set a prefetch to a lower > number to avoid outofmemory exceptions in the consumer application. > > While calling receiveNoWiat(), is there something else we need to check? > > Any recommendations? > > Thanks, > vasant > > -- View this message in context: http://www.nabble.com/ActiveMQ-4.1.1%3A-retroactive-consumer-not-getting-all-messages-tp16467798s2354p16467959.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.