如何强制关闭客户端连接rabbitmq

问题描述:

我有一个使用rabbitmq代理的客户端服务器应用程序。 客户端连接到rabbitmq并将消息发送到服务器。在某些时候,如果服务器决定这个客户端不应该连接到rabbitmq,我希望能够从rabbitmq边界强制断开客户端连接。 请注意,在我的情况下,我不想发送消息到客户端断开连接,在服务器端我想强制从rabbitmq断开此客户端。如何强制关闭客户端连接rabbitmq

无法找到api来执行此操作。任何帮助appriciated。

您可以通过两种方式使用管理console plug-in

  1. 手动,去连接和“强制关闭”。

  1. 通过HTTP API使用 “删除” /api/connections/name,这里一个蟒例如:
  2. import urllib2, base64 
    def calljsonAPI(rabbitmqhost, api): 
        request = urllib2.Request("http://" + rabbitmqhost + ":15672/api/" + api); 
        base64string = base64.encodestring('%s:%s' % ('guest', 'guest')).replace('\n', '') 
        request.add_header("Authorization", "Basic %s" % base64string); 
        request.get_method = lambda: 'DELETE'; 
        urllib2.urlopen(request); 
    if __name__ == '__main__': 
        RabbitmqHost = "localhost"; 
        #here you should get the connection detail through the api, 
        calljsonAPI(RabbitmqHost, "connections/127.0.0.1%3A49258%20-%3E%20127.0.0.1%3A5672"); 
    
开始=>
+0

我想关闭以编程方式连接,HTTP API似乎可行,有没有在正常的API的方式? – user424060

+0

修改了答案。@ user424060 – Gabriele