[rabbitmq-discuss] Trouble with confirms
matthias at rabbitmq.com
Mon Jul 29 13:40:06 BST 2013
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.
More information about the rabbitmq-discuss