[rabbitmq-discuss] Trouble with confirms

Matthias Radestock matthias at rabbitmq.com
Mon Jul 29 13:40:06 BST 2013


Tom,

On 29/07/13 13:30, Tom Anderson wrote:
> On 26/07/13 23:32, Matthias Radestock wrote:
>> On 26/07/13 18:29, Tom Anderson wrote:
>>> "The broker will confirm messages once:
>>> [...]
>>> * a transient message has reached all its queues
>>> [...]
>>> So, if i send a persistent message (delivery mode = 2) to a non-durable
>>> exchange which routes to a non-durable queue, then i will only get a
>>> confirmation once the message has been consumed from that queue, right?
>>
>> Wrong. The behaviour is described in the snippet you quoted above,
>> i.e. the message gets confirmed once it has reached all the queues it
>> was routed to.
>
> Okay. Just to clarify: the bit of the snippet i quoted that you quoted
> says "a transient message". I understood that as specifically referring
> to transient messages, not persistent ones, ie those sent with delivery
> mode 1 rather than 2. I was asking about persistent messages. Are you
> telling me that the behaviour for persistent messages is actually the
> same as that specified for transient messages?

Messages persistence requires the combination of
1) delivery_mode = 2
2) routing to a durable queue

Condition #2 is not met in your case, so the message is not persisted, 
i.e. it is treated as a transient message.

Matthias.


More information about the rabbitmq-discuss mailing list