activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adrian Neaga" <>
Subject Re: Consumer does not receive anything after session.rollback()
Date Thu, 20 Jul 2006 07:11:21 GMT
I'd like to try the load balancer idea, can this be easily done with 
ActiveMQ ?
If i run many consumers the same message may be delivered to more than one 
which is not acceptable..

Thanks again for your help.

----- Original Message ----- 
From: "James Strachan" <>
To: <>
Sent: Thursday, July 20, 2006 09:24
Subject: Re: Consumer does not receive anything after session.rollback()

> On 7/20/06, Adrian Neaga <> wrote:
>> Exactly, no messages get delivered until the one that failed is retried 
>> for
>> 3 times, i've been told that is the way queues work.
> Yes - otherwise ordering would be broken.
>> What i would want is to have messages delivered no matter if there was 
>> one
>> failed before, that kind of breaking the queue.
>> I dont want to wait 1 hours for it to try redelivering a message for the 
>> 3d
>> time to get all the messages that came in the meantime.
>> I'd appreciate any ideas of how this could be implemented.
> Well, normally you use a queue as a load balancer. Put 1000 messages
> on a queue and have them load balanced across many threads, mayb in
> many JVMs. So just because 1 thread is redeliverying a message a few
> times to deal with failure doesn't mean that other threads/JVMs can't
> be processing the other messages..
> So if you really don't want to stop 1 bad message slowing you down,
> run many consumers.
> You can control exactly how long to spend trying to redeliver failed
> messages; then once that is reached, its sent to a dead letter queue.
> So you could if you want just retry once (or never) and just send the
> message to a dead letter queue then at some point in the future (hours
> or days even) replay messages on the dead letter queue back again.
> -- 
> James
> -------

View raw message