SpringBoot3.0.5升级后MQRC_UNKNOWN_OBJECT_NAME异常致MQ连接数持续增长问题
MQ连接数异常增长问题
- 触发场景:当抛出
MQRC_UNKNOWN_OBJECT_NAME(2085)异常时,应用到MQ Channel的连接数持续增长 - 稳定条件:仅在服务器上创建对应缺失队列后,连接数才会保持稳定;否则每触发一次异常,连接数就同步增加
- 版本关联:该问题在升级SpringBoot至
3.0.5并替换为Jakarta相关库后出现,此前的Spring/JMS版本无此问题
连接数查看命令及输出
echo " dis chs(MQCHANNEL.SVRCONN)" | runmqsc | grep CONNAME | sort | uniq -c 180 CONNAME(1.128.4.11) CURRENT
异常日志
Caused by: com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2085' ('MQRC_UNKNOWN_OBJECT_NAME'). at com.ibm.msg.client.jakarta.wmq.common.internal.Reason.createException(Reason.java:203) ... 21 common frames omitted 2025-01-02 08:48:02.442 [org.springframework.jms.JmsListenerEndpointContainer#0-25626] INFO o.s.j.c.CachingConnectionFactory - Encountered a JMSException - resetting the underlying JMS Connection com.ibm.msg.client.jakarta.jms.DetailedInvalidDestinationException: JMSWMQ2008: Failed to open MQ queue 'VINOTH.PG_ST_REPLICATION.Q'.
相关代码实现
JmsTemplate jmsTemplate = new JmsTemplate(); CachingConnectionFactory cachedFactory = new CachingConnectionFactory(); cachedFactory.setSessionCacheSize(cacheSize); cachedFactory.setReconnectOnException(true); cachedFactory.resetConnection(); MQConnectionFactory factory = new MQConnectionFactory(); factory.setQueueManager(queueManager); factory.setChannel(channel); factory.setConnectionNameList(connection); factory.setTransportType(WMQConstants.WMQ_CM_CLIENT); cachedFactory.setTargetConnectionFactory(factory); jmsTemplate.setConnectionFactory(cachedFactory);
内容的提问来源于stack exchange,提问作者vinoth gct
相关产品推荐
相关产品推荐

