RabbitMQ不会关闭服务器端连接

时间:2013-05-30 11:37:34

标签: connection rabbitmq server-side

每周一次,我们的RabbitMQ服务器停止接受新连接。我们发现这是因为旧连接在服务器端没有正确关闭。客户端我们关闭连接,但在RabbitMQ Management Studio(Web界面)中,它报告了数千个打开的连接。

为什么连接不是自动关闭的?我错过了一些配置设置吗?这是由于我如何在客户端部署连接?

1 个答案:

答案 0 :(得分:3)

如果连接客户端没有正确关闭,显然连接服务器端永远不会关闭。 RabbitMQ使用的AMQP(高级消息队列协议)可确保连接在长时间运行的任务中保持打开状态。

我遇到问题的原因当然是连接没有正确关闭。我的解决方案是在我的连接工厂中修复析构函数,并且我还使连接工厂提供单例连接而不是创建新连接。我还为模型(频道)创建了一个池。这样我就不必创建多个连接,并且由于模型池,我大大提高了性能。