2014-09-25 73 views
1

使用RabbitMQ C#API,我将如何检查是否存在从给定队列到给定交换的绑定?RabbitMQ C#API:如何检查绑定是否存在?

很多RabbitMQ调用都是幂等的,所以有些人可能会说这些检查对于这些情况是不必要的,但我认为它们在测试中会很有用。

+1

如果amqp不让你检查这个,你可以使用兔子的休息api http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_5/priv/www/api/index.html特别是,'bindings'函数返回现有绑定的完整列表。 – 2014-09-25 19:01:05

+0

@WiktorZychla感谢您的建议。我希望可以使用C#API来完成它,但如果这不是一个选项,我会尝试一下你的建议。 – Anshul 2014-09-25 19:05:19

+0

不通过客户端API。但是,也许管理API:http://hg.rabbitmq.com/rabbitmq-management/raw-file/rabbitmq_v3_3_4/priv/www/api/index.html – 2014-09-25 19:51:27

回答

2

您可以使用其REST API调用并查看绑定是否存在。

你有API参考的本地副本:your_server_name:15672/api/或者你可以在their online docs

找到它,您可以拨打GET调用之一:

  • /api/exchanges/vhost
  • /name/bindings/destination

在适当的替换在那里的虚拟主机或名称。

或者你可以只叫:

  • /api/bindings

让所有的人。

从那里,你需要解析返回的JSON对象。

请注意,您可能需要进行身份验证,但他们的示例显示如何执行此操作。