новый MQConnectionFactory () генерирует исключение NullPointerException в JBoss - PullRequest
2 голосов
/ 02 июля 2010

Я пытаюсь выполнить следующую команду:

MQConnectionFactory connFactory = new MQConnectionFactory();

Я получаю исключение нулевого указателя, которое я не могу отследить. Я прикрепил трассировку стека ниже.

java.lang.NullPointerException
  at com.ibm.msg.client.jms.internal.JmsFactoryFactoryImpl.getInstance(JmsFactoryFactoryImpl.java:169)
  at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.setProviderFactory(JmsConnectionFactoryImpl.java:165)
  at com.ibm.mq.jms.MQConnectionFactory.<init>(MQConnectionFactory.java:271)
  at com.foundation.agent.plugin.JMSClient.createConnection(JMSClient.java:154)
  at com.foundation.agent.plugin.JMSClient.launch(JMSClient.java:108)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)

Я загружаю класс, который вызывает new MQConectionFactory(), используя загрузчик классов, поэтому я подозреваю, что некоторая библиотека JBoss JMS, возможно, вызывает это.

Дополнительная информация:

  • com.ibm.mq.runtime_7.0.1.0 \ Lib

баночки:

  • com.ibm.mq.headers.jar
  • com.ibm.mqjms.jar
  • jms.jar
  • com.ibm.mq.jar
  • connector.jar
  • jta.jar
  • com.ibm.mq.jmqi.jar
  • dhbcore.jar
  • providerutil.jar
  • com.ibm.mq.pcf.jar
  • fscontext.jar

Ответы [ 3 ]

1 голос
/ 06 июня 2012

Декомпилируя код для JmsFactoryFactoryImpl в строке 169, вы можете видеть, что есть трассировка, выводимая несколькими строками выше. На моей системе с тем же Exception, что и у вас, вывод трассировки на системную ошибку (Tomcat's catalina.out в моем случае) показал следующее:

      WorkQueueMananger Contents
                           --------------------------

|   Maintain ThreadPool size     :-  false
|   Maximum ThreadPool size      :-  -1
|   ThreadPool inactive timeout  :-  0
|   unavailable -                :-  com.ibm.msg.client.commonservices.CSIException: JMSCS0002

И с этим кодом вы можете перейти к: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.javadoc.doc%2FWMQJMSClasses%2Ferrorcodes.html

1 голос
/ 03 июля 2010

Вы, похоже, используете v7.0.1.0 WMQ.Вы сконфигурировали CLASSPATH, как описано в руководстве v7 WMQ Using Java ?Предполагая стандартную установку, единственный jar, который вам нужен в CLASSPATH во время выполнения, это com.ibm.mqjms.jar.В стандартной установке около 10 jar, которых я не вижу в вашем списке, поэтому я не уверен, указали ли вы, что находится в вашей переменной CLASSPATH или в java / lib, но это не тот список, который я ожидал бы в любом случае.Если вы взяли jar-файлы откуда-то, попробуйте использовать полную установку клиента

0 голосов
/ 22 августа 2013

Я столкнулся с той же проблемой даже после добавления всех необходимых файлов JAR.Наконец, проблема решена после изменения моего JDK с IBM JDK на Oracle / Sun JDK.Похоже, у IBM JDK (в одиночку) недостаточно вещей для создания фабрики соединений.

...