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.

Reply via email to