【发布时间】:2017-07-03 12:37:19
【问题描述】:
我正在使用具有自动恢复功能的 java api 客户端,但是每次它失去连接时,当它重新连接时,它会在不同的端口上创建一个新连接,从而使我的 RabbitMQ 充满多个连接。我正在处理的环境失去了连接经常。
尝试重新连接时是否可以使用相同的连接?
提前致谢
【问题讨论】:
标签: java android rabbitmq connection
我正在使用具有自动恢复功能的 java api 客户端,但是每次它失去连接时,当它重新连接时,它会在不同的端口上创建一个新连接,从而使我的 RabbitMQ 充满多个连接。我正在处理的环境失去了连接经常。
尝试重新连接时是否可以使用相同的连接?
提前致谢
【问题讨论】:
标签: java android rabbitmq connection
我猜你想要的是一个connection pool 来建立与 RabbitMQ 的连接。由于您使用的是 java-client,因此您可以尝试支持通道缓存(默认)以及连接缓存(需要额外设置)的 CachingConnectionFactory。你可以在这里查看:CachingConnectionFactory
【讨论】:
你也可以通过heartbeat的帮助删除空闲连接
在您的 java 客户端中启用它
ConnectionFactory cf = new ConnectionFactory();
cf.setRequestedHeartbeat(60);
也可以在服务器的配置中硬编码
或者你可以参考Connection AutoRecovering
【讨论】: