Someone recently asked me a question about finding a named exchange
without specifying the type in the declare method call. I've done
some testing against RabbitMQ v1.7.0 and it seems that you cannot re-
declare an existing exchange without supplying a type argument, even
if the passive argument is used and set to true. I consistently get a
The 0-9-1 AMQP XML spec suggests that if you set the passive argument
to true in the exchange declare method call, then type should be
==== Start of excerpt from 0-9-1 spec ====
<field name = "passive" domain = "bit" label = "do not create exchange">
If set, the server will reply with Declare-Ok if the
exists with the same name, and raise an error if not. The
use this to check whether an exchange exists without
server state. When set, all other method fields except
name and no-wait
are ignored. A declare with both passive and no-wait has
Arguments are compared for semantic equivalence.
==== End of excerpt from 0-9-1 spec ====
Firstly, can anyone confirm that the behaviour I am observing
regarding arguments passed in the exchange declare method is correct.
There could be a problem with my client library that I haven't found.
Secondly, if the type argument is mandatory even when the passive
argument is used and set to true, is this a bug in RabbitMQ?
-------------- next part --------------
An HTML attachment was scrubbed...