[rabbitmq-discuss] acknowledgement in client side

Simon MacMullen simon at rabbitmq.com
Fri Sep 21 10:59:46 BST 2012


On 21/09/12 10:46, Majid Azimi wrote:
> hi guys,
>
> I have some questions about acknowledgement in client side*:
>
> 1. if basic.publish finishes executing and there is no exception thrown,
> this means message has been received in message server? or we need to
> enable transactions or use confirmSelect() to be sure?

You need to use tx or confirms. Just having basic.publish finish means 
that the message has gone out on the network.

(And the reason for this is that if the basic.publish were to know that 
the server had received the message, we'd need a network round trip per 
publish, and performance would go WAY down.)

> 2. Is it possible to use txSelect() in consumer side?

Yes, acks/rejects are transactional.

http://www.rabbitmq.com/semantics.html

Cheers, Simon]

-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list