[rabbitmq-discuss] RabbitMQ Erlang API questions

Matthias Radestock matthias at lshift.net
Thu Apr 9 06:52:19 BST 2009


Lev,

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).


Matthias.




More information about the rabbitmq-discuss mailing list