Java错误堆栈的原因

时间:2014-01-14 21:36:48

标签: java jms ibm-mq

如何确定此错误堆栈的原因

是否抱怨丢失Jar文件?

由于

Caught Exception while Creating QueueConnection from QueueConnectionFactory com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI. The Java(tm) MQI has thrown an exception describing the problem. See the linked exception for further information. com.ibm.msg.client.jms.DetailedJMSException: JMSFMQ6312: An exception occurred in the Java(tm) MQI. The Java(tm) MQI has thrown an exception describing the problem. See the linked exception for further information.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:319)
        at com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:233)
        at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6889)
        at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6277)
        at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:285)
        at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6233)
        at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:120)
        at connection.JMSConnection.makeQueueConnectionMQSeries(JMSConnection.java:228)
        at connection.JMSConnection.makeQueueConnection(JMSConnection.java:614)
        at testType.JMS_PTP.setupMsgTransportProtocol(JMS_PTP.java:335)
        at testType.JMS_PTP.run(JMS_PTP.java:806) Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2195;AMQ9546: Error return code received. [1=java.lang.reflect.InvocationTargetException[null],3=NativeConstructorAccessorImpl.newInstance0]
        at com.ibm.mq.jmqi.JmqiEnvironment.processESESecurity(JmqiEnvironment.java:989)
        at com.ibm.mq.jmqi.JmqiEnvironment.getInstance(JmqiEnvironment.java:809)
        at com.ibm.mq.jmqi.JmqiEnvironment.getMQI(JmqiEnvironment.java:615)
        at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6881)
        ... 8 more Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at com.ibm.mq.jmqi.JmqiEnvironment.processESESecurity(JmqiEnvironment.java:896)
        ... 11 more Caused by: java.lang.NoClassDefFoundError: com/ibm/mq/headers/MQDataException
        at com.ibm.mq.ese.service.ServicesFactoryImpl.createPolicyService(ServicesFactoryImpl.java:173)
        at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.createServices(InterceptedJmqiImpl.java:224)
        at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.<init>(InterceptedJmqiImpl.java:184)
        at com.ibm.mq.ese.jmqi.ESEJMQI.<init>(ESEJMQI.java:117)
        ... 16 more Caused by: java.lang.ClassNotFoundException: com.ibm.mq.headers.MQDataException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 20 more Linked Exception: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2195;AMQ9546: Error return code received. [1=java.lang.reflect.InvocationTargetException[null],3=NativeConstructorAccessorImpl.newInstance0]
-----------------------------------------------

3 个答案:

答案 0 :(得分:3)

为了识别StackTrace中错误的原因,通常从底部向上读取堆栈 并查找引起的单词。这是你问题的主要原因。在您的特定情况下:

Caused by: java.lang.ClassNotFoundException: com.ibm.mq.headers.MQDataException

因此声明在类路径中找不到此类MQDataException。所以你应该把包含这个类的jar放在应用程序的类路径上,它应该可以正常工作。

答案 1 :(得分:2)

抱怨缺少文件。该文件应该由您决定。

答案 2 :(得分:0)

如果它是一个独立的应用程序,只需在您选择的位置安装WebSphere MQ Client,并将几个jar添加到类路径中,如下所示:http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqzaw.doc%2Fjm10330_.htm。我想这会更容易。

相关问题