You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 05:22:34