Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache CXF:JMS连接已断开:compcode';2';(';MQCC#U失败';)原因';2009年&x27;(';MQRC#U连接中断';)_Java_Jms_Cxf_Ibm Mq_Jboss6.x - Fatal编程技术网

Java Apache CXF:JMS连接已断开:compcode';2';(';MQCC#U失败';)原因';2009年&x27;(';MQRC#U连接中断';)

Java Apache CXF:JMS连接已断开:compcode';2';(';MQCC#U失败';)原因';2009年&x27;(';MQRC#U连接中断';),java,jms,cxf,ibm-mq,jboss6.x,Java,Jms,Cxf,Ibm Mq,Jboss6.x,我们面临的问题与中提到的类似。在本例中,我们的应用程序部署在JBOSS EAP 6.4上(内部捆绑了CXF 2.7.16)。我们使用IBMWMQ资源适配器作为消息传递和队列中间件。JDK版本是1.7 当MQ服务器重新启动时,我们的应用程序将成功地重新连接到MQ服务器。但如果我们尝试发送任何JMS消息,我们会收到以下异常: javax.xml.ws.soap.SOAPFaultException: Uncategorized exception occured during JMS process

我们面临的问题与中提到的类似。在本例中,我们的应用程序部署在JBOSS EAP 6.4上(内部捆绑了CXF 2.7.16)。我们使用IBMWMQ资源适配器作为消息传递和队列中间件。JDK版本是1.7

当MQ服务器重新启动时,我们的应用程序将成功地重新连接到MQ服务器。但如果我们尝试发送任何JMS消息,我们会收到以下异常:

javax.xml.ws.soap.SOAPFaultException: Uncategorized exception occured during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'SYSTEM.DEFAULT.MODEL.QUEUE'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
我们认为,这一问题与上文提到的问题非常相似。该问题声称已在3.2.0版(尚未发布)中解决。由于3.2.0版尚未发布,我们正在尝试找出我们所有的选项

一种选择是升级JBOSS内部捆绑的CXF。但努力可能很高,因此我们还不打算这样做

是否有任何选项可供我们配置,例如JMS连接的连接到期超时,或者我们可以通过其他方式删除缓存的断开连接

请注意,若我们重新启动JBOSS服务器,这个问题就不再是可重复生产的了

Stacktrace看起来像:

Runtime exception while getData: javax.xml.ws.soap.SOAPFaultException: Uncategorized exception occured during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'SYSTEM.DEFAULT.MODEL.QUEUE'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158) [cxf-rt-frontend-jaxws-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at com.sun.proxy.$Proxy1500.getData(Unknown Source)
        at com.xyz.getData(SomeBean.java:282) [xyz.jar:16.0.1]
        ...
        ...
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80]
        at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'SYSTEM.DEFAULT.MODEL.QUEUE'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
        at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
        at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:431)
        at org.apache.cxf.transport.jms.JMSFactory.resolveOrCreateDestination(JMSFactory.java:341) [cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:195) [cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.transport.jms.JMSOutputStream.doClose(JMSOutputStream.java:56) [cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:220) [cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56) [cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:223) [cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) [cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.transport.jms.JMSConduit.close(JMSConduit.java:128)
        ...
        ...
        [cxf-rt-frontend-jaxws-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        ... 62 more
Caused by: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'SYSTEM.DEFAULT.MODEL.QUEUE'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.
        at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:585)
        at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221)
        at com.ibm.msg.client.wmq.internal.WMQConnection.accessTemporaryQueue(WMQConnection.java:644)
        at com.ibm.msg.client.wmq.internal.WMQConnection.createTemporaryDestination(WMQConnection.java:913)
        at com.ibm.msg.client.wmq.internal.WMQSession.createTemporaryDestination(WMQSession.java:911)
        at com.ibm.msg.client.jms.internal.JmsTemporaryQueueImpl.<init>(JmsTemporaryQueueImpl.java:100)
        at com.ibm.msg.client.jms.internal.JmsSessionImpl.createTemporaryQueue(JmsSessionImpl.java:1367)
        at com.ibm.mq.jms.MQSession.createTemporaryQueue(MQSession.java:758)
        at com.ibm.mq.connector.outbound.SessionWrapper.createTemporaryQueue(SessionWrapper.java:554)
        at org.apache.cxf.transport.jms.JMSFactory$1.doInJms(JMSFactory.java:349) [cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.apache.cxf.transport.jms.JMSFactory$1.doInJms(JMSFactory.java:341) [cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1]
        at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
        ... 79 more
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2009' ('MQRC_CONNECTION_BROKEN').
        at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:209)
        ... 89 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009
        at com.ibm.mq.jmqi.remote.impl.RemoteSession.getConnection(RemoteSession.java:509)
        at com.ibm.mq.jmqi.remote.impl.RemoteSession.isDistListCapable(RemoteSession.java:1826)
        at com.ibm.mq.jmqi.remote.api.RemoteFAP.MQOPEN(RemoteFAP.java:3050)
        at com.ibm.mq.jmqi.remote.api.RemoteFAP.MQOPEN(RemoteFAP.java:2918)
        at com.ibm.msg.client.wmq.internal.WMQConnection.accessTemporaryQueue(WMQConnection.java:619)
        ... 88 more
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2202
        at com.ibm.mq.jmqi.remote.impl.RemoteRcvThread.run(RemoteRcvThread.java:449)
        at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.runTask(WorkQueueItem.java:214)
        at com.ibm.msg.client.commonservices.workqueue.SimpleWorkQueueItem.runItem(SimpleWorkQueueItem.java:105)
        at com.ibm.msg.client.commonservices.workqueue.WorkQueueItem.run(WorkQueueItem.java:229)
        at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.runWorkQueueItem(WorkQueueManager.java:303)
        at com.ibm.msg.client.commonservices.j2se.workqueue.WorkQueueManagerImplementation$ThreadPoolWorker.run(WorkQueueManagerImplementation.java:1241)
getData:javax.xml.ws.soap.SOAPFaultException时运行时异常:JMS处理期间发生未分类异常;嵌套异常为com.ibm.msg.client.jms.DetailedJMSExException:JMSWMQ2008:未能打开MQ队列“SYSTEM.DEFAULT.MODEL.queue”。 JMS试图执行MQOPEN,但WebSphere MQ报告了一个错误。 使用链接异常确定此错误的原因。检查指定的队列和队列管理器是否定义正确。;嵌套异常为com.ibm.mq.MQException:JMSCMQ0001:WebSphere mq调用失败,代码为“2”(“MQCC_失败”)原因为“2009”(“MQRC_连接中断”)。 在org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158)[cxf-rt-frontend-jaxws-2.7.17.redhat-1.jar:2.7.17.redhat-1] 位于com.sun.proxy.$Proxy1500.getData(未知源) 在com.xyz.getData(SomeBean.java:282)[xyz.jar:16.0.1] ... ... 在java.lang.Thread.run(Thread.java:745)[rt.jar:1.7.0_80] 位于org.jboss.threads.JBossThread.run(JBossThread.java:122) 原因:org.springframework.jms.uncategorizedjmsceception:jms处理过程中发生未分类异常;嵌套异常为com.ibm.msg.client.jms.DetailedJMSExException:JMSWMQ2008:未能打开MQ队列“SYSTEM.DEFAULT.MODEL.queue”。 JMS试图执行MQOPEN,但WebSphere MQ报告了一个错误。 使用链接异常确定此错误的原因。检查指定的队列和队列管理器是否定义正确。;嵌套异常为com.ibm.mq.MQException:JMSCMQ0001:WebSphere mq调用失败,代码为“2”(“MQCC_失败”)原因为“2009”(“MQRC_连接中断”)。 位于org.springframework.jms.support.JmsUtils.convertjmsaccesception(JmsUtils.java:316) 位于org.springframework.jms.support.JmsAccessor.convertjmsaccesexception(JmsAccessor.java:168) 位于org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469) 位于org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:431) 在org.apache.cxf.transport.jms.JMSFactory.resolvorCreateDestination(JMSFactory.java:341)[cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:195)[cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.transport.jms.JMSOutputStream.doClose(JMSOutputStream.java:56)[cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:220)[cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)[cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:223)[cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.transport.abstractconductor.close(abstractconductor.java:56)[cxf-api-2.7.17.redhat-1.jar:2.7.17.redhat-1] 位于org.apache.cxf.transport.jms.JMSConduit.close(JMSConduit.java:128) ... ... [cxf-rt-frontend-jaxws-2.7.17.redhat-1.jar:2.7.17.redhat-1] ... 62多 原因:com.ibm.msg.client.jms.DetailedJMSExException:JMSWMQ2008:无法打开MQ队列“SYSTEM.DEFAULT.MODEL.queue”。 JMS试图执行MQOPEN,但WebSphere MQ报告了一个错误。 使用链接异常确定此错误的原因。检查指定的队列和队列管理器是否定义正确。 位于com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:585) 位于com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221) 位于com.ibm.msg.client.wmq.internal.WMQConnection.accessTemporaryQueue(WMQConnection.java:644) 位于com.ibm.msg.client.wmq.internal.WMQConnection.createTemporaryDestination(WMQConnection.java:913) 位于com.ibm.msg.client.wmq.internal.WMQSession.createTemporaryDestination(WMQSession.java:911) 位于com.ibm.msg.client.jms.internal.jmstemporationqueueimpl.(jmstemporationqueueimpl.java:100) 位于com.ibm.msg.client.jms.internal.JmsSessionImpl.createTemporaryQueue(JmsSessionImpl.java:1367) 位于com.ibm.mq.jms.MQSession.createTemporaryQueue(MQSession.java:758) 位于com.ibm.mq.connector.outbound.SessionWrapper.createTemporaryQueue(SessionWrapper.java:554) 在org.apache.cxf.transport.jms.JMSFactory$1.doInJms(JMSFactory.java:349)[cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1] 在org.apache.cxf.transport.jms.JMSFactory$1.doInJms(JMSFactory.java:341)[cxf-rt-transports-jms-2.7.17.redhat-1.jar:2.7.17.redhat-1] 位于org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466) ... 79多 引起