[rabbitmq-discuss] RabbitMQ Erlang API questions
matthias at lshift.net
Thu Apr 9 06:52:19 BST 2009
Lev Walkin wrote:
> amqp-0-10 does not have this implication (page 228):
> Exclusive queues can only be used from one session at a time. Once a
> session declares an exclusive queue, that queue cannot be used by any
> other session until the declaring session closes.
0-10's notion of exclusivity is different to 0-8/9/9-1's. In the latter
exclusivity pertains to the creating session only, whereas in 0-10 it
can be passed on, i.e. another session can become the exclusive user of
a queue when the previous session has gone away.
> And wrt: auto-delete:
> If this field is set and the exclusive field is not set the queue is
> deleted when all the consumers have finished using it.
> Which is ambiguous, but can easily mean that if auto-delete field is not
> set, the queue is not deleted.
IMHO the above is actually wrong, even in the context of 0-10. In 0-9-1
we disentangled exclusivity and auto-deletion. The latter flag triggers
deletion when the last *consumer* goes away, whereas exclusivity
triggers deletion when the connection goes away. By contrast, the above
would appear to make setting auto-delete on exclusive queues a no-op
(it's ambiguous, but it would be stretch to read the statement differently).
More information about the rabbitmq-discuss