简体   繁体   中英

Deploy wmq.jms.rar on Jboss eap 6 java.lang.ClassNotFoundException: com.ibm.mq.MQException

I am facing a issue receiving message with WebSphere MQ in Jboss EAP 6.1.

I configured WebSphere MQ in Jboss EAP following the redhat guide Deploy the WebSphere MQ Resource Adapter but at the time the server receive a message i get

ERROR [org.jboss.as.ejb3.invocation] (default-threads - 1) JBAS014134: EJB Invocation failed on component QueueClass_MDB_IDM_REQ for method public abstract void javax.jms.MessageListener.onMessage(javax.jms.Message): javax.ejb.EJBException: JBAS014580: Unexpected Error
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInNoTx(CMTTxInterceptor.java:188) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInNoTx(CMTTxInterceptor.java:237) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
    at org.jboss.as.ejb3.tx.CMTTxInterceptor.notSupported(CMTTxInterceptor.java:299) [jboss-as-ejb3-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]

...

Caused by: java.lang.ClassNotFoundException: com.ibm.mq.MQException from [Module "deployment.abc-ear.ear.cnt-abc-integration.jar:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.2.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444) [jboss-modules.jar:1.2.2.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432) [jboss-modules.jar:1.2.2.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374) [jboss-modules.jar:1.2.2.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119) [jboss-modules.jar:1.2.2.Final-redhat-1]
    ... 68 more

It seems like my class can't find wmq classes, i copied wmq.jms.rar into the standalone/deployments folder and configured correctly the resource adapter:

<resource-adapter>
    <archive>
        wmq.jmsra.rar
    </archive>
    <transaction-support>NoTransaction</transaction-support>
    <connection-definitions>
        <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" 
                jndi-name="java:jboss/MQ.CONNECTIONFACTORY.NAME" 
                pool-name="MQ.CONNECTIONFACTORY.NAME">
            <config-property name="channel">
                MQ.CHANNEL.NAME
            </config-property>
            <config-property name="transportType">
                MQ.CLIENT
            </config-property>
            <config-property name="queueManager">
                MQ.QUEUE.MANAGER
            </config-property>
        </connection-definition>
    </connection-definitions>
    <admin-objects>
        <admin-object 
                class-name="com.ibm.mq.connector.outbound.MQQueueProxy" 
                jndi-name="java:jboss/MQ.QUEUE.NAME" 
                pool-name="MQ.QUEUE.NAME">
            <config-property name="baseQueueName">
                MQ.QUEUE.NAME
            </config-property>
        </admin-object>
    </admin-objects>
</resource-adapter>

Versions

  • Jboss EAP 6.1
  • WebSphere MQ 7.1.0

我找到了将Websphere MQ与jboss集成的权威指南 ,该指南帮助我解决了问题

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM