正如您所注意到的,rabbitmq对于一些版本现在支持扩展队列.unbind方法,其定义从0-9规范中提取,但并非所有AMQP客户机库都以相同的方式扩展。
要使其与txamqp一起工作,需要从0-9规范中获取queue.unbind和queue.unbindok方法的XML定义,将它们粘贴到txamqp使用的0-8规范文件中,然后重新启动应用程序。它现在应该有一个queue.unbind方法,如果我正确理解了txamqp的工作原理的话。
以下是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>