关于ActiveMQ的 Connector openwire 连接数问题

本文探讨了在使用ActiveMQ过程中遇到的连接数异常问题,特别是在调用consumer.close()后仍存在的连接情况,并分享了解决方案,即通过合理设置最大连接数等参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在工作中用到ActiveMQ,其中发现每次通过MQ通讯之后即使调用了

consumer.close() 

实现关闭订阅,但是依然存在连接,如下图所示

同时非持久订阅数也是同样的在增加,如下图所示

找了一圈发现网上好像没啥答案,然后自己摸索了一轮,原来是跟自己后面调整了最大连接数有关

pooledConnectionFactory.setConnectionFactory(activeMQConnectionFactory);
pooledConnectionFactory.setMaxConnections(nodeMap.get("maxConnections")!=null?Integer.parseInt(nodeMap.get("maxConnections")):20);//主要是这句,调整了默认的最大连接数为20,看着连接数挺多,其实最大就去到20
pooledConnectionFactory.setMaximumActiveSessionPerConnection(nodeMap.get("maximumActiveSessionPerConnection")!=null?Integer.parseInt(nodeMap.get("maximumActiveSessionPerConnection")):500);
pooledConnectionFactory.setCreateConnectionOnStartup(nodeMap.get("createConnectionOnStartup")!=null?Boolean.valueOf(nodeMap.get("createConnectionOnStartup")):true);  
pooledConnectionFactory.setReconnectOnException(nodeMap.get("reconnectOnException")!=null?Boolean.valueOf(nodeMap.get("reconnectOnException")):true);

为了防止忘记,在这里记录下哈。如果有不足,也希望各位大神多多指教哈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值