[rabbitmq-discuss] Non Acknowledged Messages

Matthias Radestock matthias at rabbitmq.com
Sun Aug 1 08:07:52 BST 2010


Abhishek K wrote:
> Please correct me if I am wrong.
> 
>     * Messages are kept in the Queue if they are not acknowledged.

yes, assuming the noAck flag of basic.consume/get wasn't set.

>     * If Client A has not got acknowledgement for a message another
>       Consumer can read the message.

Unacked messages are requeued when the consuming client's channel or 
connection closes, at which point they become available to other consumers.

>     * I need to implement a method in which a message when sent to a
>       consumer and awaits ACK, it should not be sent to another
>       consumer.

That's the behaviour AMQP specifies and RabbitMQ implements.

> Only after a certain time out , can the message be
>       resent to any other consumer. Any Ideas?

This question came up before. See, e.g. 
http://old.nabble.com/adjusting-timeout-for-non-acked-messages-to-be-requeued-td26951114.html#a26951114


Regards,

Matthias


More information about the rabbitmq-discuss mailing list