如何在rabbitmq中查找绑定到特定交换的队列数?

时间:2016-07-04 17:01:00

标签: java rabbitmq

我正在尝试实现java中Rabbitmq教程中指定的发布/订阅模型。提供的示例工作正常。现在我想修改它以限制访问Exchange的客户端数量。

当我调查它时,我可以找到一个命令" rabbitmqctl list_bindings"列出有界队列,即手动输入。有没有办法以编程方式做到这一点? 要么 我们是否有任何交换功能来返回绑定到交换机的队列数量?

我找不到,请帮助我,感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用management UI HTTP API,在这里您可以找到所有API

您可以使用API​​ /api/exchanges/{vhost}/{exchange_name}/bindings/source

例如:

http://localhost:15672/api/exchanges/%2F/Topic_test/bindings/source

结果会得到一个json,比如:


[

    {
        "source": "Topic_test",
        "vhost": "/",
        "destination": "test_0",
        "destination_type": "queue",
        "routing_key": "",
        "arguments": { },
        "properties_key": "~"
    },
    {
        "source": "Topic_test",
        "vhost": "/",
        "destination": "test_1",
        "destination_type": "queue",
        "routing_key": "",
        "arguments": { },
        "properties_key": "~"
    },
    {
        "source": "Topic_test",
        "vhost": "/",
        "destination": "test_2",
        "destination_type": "queue",
        "routing_key": "",
        "arguments": { },
        "properties_key": "~"
    }
]