[rabbitmq-discuss] 'immediate' vs 'mandatory'

Oleg Zhurakousky ozhurakousky at vmware.com
Fri Jun 4 18:03:01 BST 2010


Well, 'a' and 'b' are actually different IMHO.

If I have a consumer with noAck set to 'false', then I am sending the basicAck conditionally inside of the handleDelivery() method. This means that even though handleDelivery() was successfully invoked, the ACK might not have been sent, right?

Cheers
Oleg


On Jun 4, 2010, at 12:54 PM, Simon MacMullen wrote:

> On 04/06/10 16:54, Oleg Zhurakousky wrote:
>> So what does 'must be delivered to the consumer means?'
>> a) handleDelivery(..) was successfully invoked.
>> b) consumer sent ACK.
>> c) consumer processes message transactionally and then commits it
> 
> Well, from the perspective of the server a) and b) are the same thing 
> (the server cannot be sure the client has seen the message unless it 
> sees an ack).
> 
> However, it looks like what we actually do is to consider it delivered 
> (for the purposes of the immediate flag but not any other) as soon as we 
> start to send the message to the consumer. Hmm.
> 
> Cheers, Simon
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss



More information about the rabbitmq-discuss mailing list