txAMQPはRabbitMQの中でバインド解除することはできますか?
-
20-09-2019 - |
質問
私は、バインドされたキューを削除せずにRabbitMQの中のバインディングを削除したいです。私は0.8 AMQP仕様でtxAMQPを使用しています。 RabbitMQのはサポートしていますが、それはunbind
メソッドを持っていない唯一のバージョンであるように思われる。
奇妙なことに、ソースコードを閲覧はRabbitMQのは、むしろ混乱します。
私を残す、アンバインドサポートしていることを示唆しています私は、クライアントとサーバーの組み合わせをバインド解除することはできますか?もしそうなら、どのように?
解決
あなたが気づいてきたように、
、RabbitMQのは、いくつかのバージョンについては、今定義0-9仕様から持ち上げますが、すべてのAMQPクライアントライブラリが同じように拡張されていないと、拡張Queue.Unbind方式をサポートしてきました。
これはtxAMQPで動作するように取得するには、あなたは、0-9仕様からQueue.UnbindとQueue.UnbindOkメソッドのXML定義を取るtxAMQPが使用0-8 specファイルに貼り付け、再起動する必要があります。あなたの申請。私はきちんとtxAMQPがどのように機能するかを理解している場合、それは今、利用可能Queue.Unbindメソッドを持っている必要があります。
ここでは、BSDライセンス0-9-1スペックから、関連するXMLスタンザあります:
<method name="unbind" synchronous="1" index="50">
<chassis name="server" implement="MUST"/>
<response name="unbind-ok"/>
<field name="reserved-1" type="short" reserved="1"/>
<field name="queue" domain="queue-name"/>
<field name="exchange" domain="exchange-name"/>
<field name="routing-key" domain="shortstr"/>
<field name="arguments" domain="table"/>
</method>
<method name="unbind-ok" synchronous="1" index="51">
<chassis name="client" implement="MUST"/>
</method>
所属していません StackOverflow