So you're saying if I use ClientAcknowledge and a consumer dies before
sending the ACK, then the Broker will redeliver to an available consumer.

But how does it know the consumer died? If its not by timeout, then how long
will it wait before giving the Job to another consumer?



James.Strachan wrote:
> 
> On 4/12/07, spiderman2 <[EMAIL PROTECTED]> wrote:
>>
>> I have a broker (with a queue, NOT topic) on one host, and consumers on
>> various other hosts. After a consumer has taken a persistent message from
>> the Broker queue but dies before having processed it and ACK its
>> completion,
>> what happens?
>>
>> 1) Is the message redelivered to another consumer? (Through use of the
>> failover://) or is the message lost?
> 
> Its delivered to *a* consumer. Typicaly if the original consumer dies
> and reconnects, it *could* get the message when its replayed - but
> usually another consumer would get it (since the redelivery would
> probably happen before the original client can reconnect with
> failover)
> 
> 
> 
>>    - if redelivered, where do i configure the timeout
>>    - if redelivered, is that when the RedeliveryPolicy takes affect?
> 
> The redelivery timeout is only really used when the original consumer
> is redeliverying the message (e.g. due to transaction rollbacks).
> 
> 
>> 2) Would I be *required* to use transactional session to have this
>> guarantee
>> of delivery/redelivery?
> 
> No. Redelivery works for client acknowledgements and for transactional
> messaging
> 
> -- 
> 
> James
> -------
> http://radio.weblogs.com/0112098/
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Consumer-Failure-and-Redelivery-Policy-Behaviour-Question-tf3563252s2354.html#a9960927
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to