txAMQP可以在RabbitMQ中解绑吗?
我想删除 RabbitMQ 中的绑定而不删除绑定队列。我正在使用 txAMQP 和 0.8 AMQP 规范;它似乎是 RabbitMQ 支持的唯一版本,但它没有 unbind
方法。
奇怪的是,仔细阅读源代码发现 RabbitMQ 支持 unbind,这让我很困惑。
这种客户端和服务器的组合可以解绑吗?如果是这样,怎么办?
I want to remove bindings in RabbitMQ without deleting the bound queue. I am using txAMQP with the 0.8 AMQP spec; it seems to be the only version that RabbitMQ supports but it has no unbind
method.
Oddly enough, a perusal through the source code suggests that RabbitMQ supports unbind, which leaves me rather confused.
Can I unbind with this combination of client and server? If so, how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如您所注意到的,RabbitMQ 现在有几个版本支持扩展 Queue.Unbind 方法,其定义从 0-9 规范中取消,但并非所有 AMQP 客户端库都以相同的方式扩展。
要使其与 txAMQP 一起使用,您需要从 0-9 规范中获取 Queue.Unbind 和 Queue.UnbindOk 方法的 XML 定义,将它们粘贴到 txAMQP 使用的 0-8 规范文件中,然后重新启动您的应用程序。如果我正确理解了 txAMQP 的工作原理,它现在应该有一个可用的 Queue.Unbind 方法。
以下是来自 BSD 许可的 0-9-1 规范的相关 XML 节:
As you've noticed, RabbitMQ has for a few versions now supported an extension Queue.Unbind method, with definition lifted from the 0-9 specification, but not all AMQP client libraries have been extended in the same way.
To get this to work with txAMQP, you will need to take the XML definitions of the Queue.Unbind and Queue.UnbindOk methods from the 0-9 spec, paste them into the 0-8 spec file txAMQP uses, and restart your application. It should now have a Queue.Unbind method available, if I've properly understood how txAMQP works.
Here are the relevant XML stanzas, from the BSD-licensed 0-9-1 spec: