<div>Thanks for the information Michael.</div>
<div> </div>
<div>Regards,</div>
<div> </div>
<div>Chris<br></div>
<div class="gmail_quote">2009/11/26 Michael Bridgen <span dir="ltr"><<a href="mailto:mikeb@lshift.net">mikeb@lshift.net</a>></span><br>
<blockquote style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" class="gmail_quote">Hi Chris,<br>
<div class="im"><br>> Someone recently asked me a question about finding a named exchange<br>> without specifying the type in the declare method call. I've done some<br>> testing against RabbitMQ v1.7.0 and it seems that you cannot re-declare<br>
> an existing exchange without supplying a type argument, even if the<br>> passive argument is used and set to true. I consistently get a 503 error.<br><br></div>RabbitMQ implements AMQP 0-8 right now, which doesn't specify passive in<br>
quite the same way as 0-9-1. In 0-8, only auto-delete and durable are<br>ignored.<br>
<div class="im"><br>> The 0-9-1 AMQP XML spec suggests that if you set the passive argument to<br>> true in the exchange declare method call, then type should be ignored.<br><br></div>Yes indeed; 0-9-1 is much clearer than 0-8 on what the passive flag<br>
means. Essentially exchange.declare and queue.declare, with passive<br>set, are different methods.<br>
<div class="im"><br>> Firstly, can anyone confirm that the behaviour I am observing regarding<br>> arguments passed in the exchange declare method is correct. There could<br>> be a problem with my client library that I haven't found.<br>
<br></div>If "without supplying a type argument" above means you send an empty<br>string, you're getting back 503 Command Invalid because of AMQP 0-8 rule<br>amqp_exchange_18, which says the server must send 503 if it doesn't<br>
support the exchange type.<br><br>If you know the exchange type you should be able to send that and get a<br>declare-ok or 404 back.<br>
<div class="im"><br>> Secondly, if the type argument is mandatory even when the passive<br>> argument is used and set to true, is this a bug in RabbitMQ?<br><br></div>Not at the minute. We are working on 0-9-1 support, in the (fairly<br>
stable and up to date) branch amqp_0_9_1. In this branch right now,<br>Queue.Declare has the new semantics, though Exchange.Declare doesn't<br>quite yet.<br><br>The client APIs are also being changed; e.g., in the Java client,<br>
there's now Channel.declarePassive(String name), and Channel.declare no<br>longer takes an argument for passive.<br><br><br>Cheers,<br>Michael<br><br><br>_______________________________________________<br>rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br><a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Regards<br><br>Chris<br>