Je suis en train d'exécuter la commande suivante:nouvelle MQConnectionFactory() lance NullPointerException dans JBoss
MQConnectionFactory connFactory = new MQConnectionFactory();
je reçois une exception de pointeur nul que je ne peux pas sembler traquer. J'ai joint la trace de pile ci-dessous.
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)
Je suis le chargement de la classe qui appelle la new MQConectionFactory()
à l'aide d'un chargeur de classe, donc je pense que certains bibliothèque JMS JBoss est peut-être à l'origine de cette.
Plus d'infos:
- com.ibm.mq.runtime_7.0.1.0 \ lib
Jars:
- 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
Je n'essaie pas d'utiliser la fonctionnalité XA, je ne suis pas sûr que j'utilise un adaptateur de ressources parce que je ne suis pas la définition ou le déploiement et les EJB. Fondamentalement je commence un fil dans jboss qui établira la connexion en utilisant l'usine de connexion ... il me semble, et je pourrais me tromper, que certaines propriétés de jms provoquent le MQConnectionfactory pour essayer de s'instancier comme une usine de transaction XA dont je n'ai pas la licence à faire. cela étant dit, je ne sais pas quoi ou comment surpasser cela ... –
J'ai seulement listé les fichiers jars que j'ai ajoutés depuis IBM/WebSphere MQ/eclipse/plugins/com.ib.mq.runtime_7.0.1.0/lib dont j'avais besoin, y a-t-il un autre jar que je devrais inclure qui pourrait faire en sorte que jboss prenne par défaut autre chose que ce que je veux? –
L'extraction des fichiers JAR de l'installation de WMQ Explorer peut ou non fonctionner. WMQ Explorer regroupe les fonctionnalités spécifiques dont il a besoin et peut utiliser des appels d'API non publics. Si vous pouvez le faire fonctionner en dev, allez-y. Cependant, pour la production, j'installerais rien de moins que le client WMQ complet comme lié dans ma réponse. C'est la configuration qu'IBM prendra en charge et inclut des éléments tels que le traçage, les diagnostics et les exemples d'utilitaires que vous pouvez utiliser pour tester votre installation. Même si vous ne le souhaitez pas, IBM peut en avoir besoin si vous ouvrez un incident de support. –