ClassNotFoundException/NoClassDefFoundError for com/ibm/mq/jmqi/system/JmqiComponent Using JMS Adapter with MQ 7.x Client Libraries (Doc ID 1346760.1)

Last updated on FEBRUARY 02, 2016

Applies to:

Oracle SOA Suite - Version 11.1.1.4.0 and later
Information in this document applies to any platform.

Symptoms

You have an installation of Oracle Fusion Middleware 11g Release 1 Patchset 3 (11.1.1.4.0) where you have developed and deployed composites that leverage the Oracle JMS Adapter to access JMS messages that are utilizing IBM WebSphere MQ for message transport/persistence services.

The composite application is polling for the arrival of messages that have been created to follow a publish/subscribe paradigm and are therefore stored within an IBM WebSphere MQ Topic. The composite application deploys successfully but at execution time, within the diagnostic log for the SOA managed server (${DOMAIN_HOME}/servers/soa_server1/logs/soa_server1-diagnostic.log) you receive the following ClassNotFoundException/NoClassDefFoundError exception stack each time the JMS Adapter attempts to poll MQ for an available message:

[2011-08-04T20:45:19.253-04:00] [soa_server1] [ERROR] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@10670fb] [userId: <anonymous>] [ecid: 0000J6NP1dPFo2f_TXT4ic1EEnlh000002,0] [APP: soa-infra] JMSAdapter READ_MSGS_FROM_TOPIC [[
javax.resource.spi.ResourceAdapterInternalException: Failed to create managed connection: java.lang.NoClassDefFoundError: com/ibm/mq/jmqi/system/JmqiComponent
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:143)
at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1249)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:418)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:342)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:322)
at weblogic.connector.outbound.ConnectionPool.reserveResource(ConnectionPool.java:620)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:316)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnectionInfo(ConnectionManagerImpl.java:380)
at weblogic.connector.outbound.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:320)
at weblogic.connector.outbound.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:129)
at oracle.tip.adapter.jms.JmsConnectionFactory.getConnection(JmsConnectionFactory.java:93)
at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.createConsumer(JMSMessageConsumer.java:321)
at oracle.tip.adapter.jms.JMS.JMSMessageConsumer.init(JMSMessageConsumer.java:920)
at oracle.tip.adapter.jms.inbound.JmsConsumer.init(JmsConsumer.java:894)
at oracle.tip.adapter.jms.JmsEndpoint.run(JmsEndpoint.java:151)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Caused by: java.lang.NoClassDefFoundError: com/ibm/mq/jmqi/system/JmqiComponent
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at com.ibm.msg.client.wmq.factories.WMQFactoryFactory.createProviderConnectionFactory(WMQFactoryFactory.java:378)
at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.setProviderFactory(JmsConnectionFactoryImpl.java:173)
at com.ibm.mq.jms.MQConnectionFactory.<init>(MQConnectionFactory.java:245)
at com.ibm.mq.jms.MQTopicConnectionFactory.<init>(MQTopicConnectionFactory.java:73)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at oracle.tip.adapter.jms.JMS.JMSConnectionFactoryFactory.getConnectionFactory(JMSConnectionFactoryFactory.java:170)
at oracle.tip.adapter.jms.JMS.JMSConnectionFactoryFactory.getTopicConnectionFactory(JMSConnectionFactoryFactory.java:104)
at oracle.tip.adapter.jms.JMS.JMSConnection.init(JMSConnection.java:124)
at oracle.tip.adapter.jms.JMS.JMSConnection.<init>(JMSConnection.java:113)
at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionFactory.java:313)
at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createDefaultConnection(JmsManagedConnectionFactory.java:305)
at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createConnection(JmsManagedConnectionFactory.java:286)
at oracle.tip.adapter.jms.JmsManagedConnectionFactory.createManagedConnection(JmsManagedConnectionFactory.java:92)
at weblogic.connector.security.layer.AdapterLayer.createManagedConnection(AdapterLayer.java:803)
at weblogic.connector.outbound.ConnectionFactory.createResource(ConnectionFactory.java:91)
... 17 more
Caused by: java.lang.ClassNotFoundException: com.ibm.mq.jmqi.system.JmqiComponent
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 48 more

]]

Changes

You may recently have migrated the IBM WebSphere MQ libraries being used with SOA Suite from MQ 6.x to MQ 7.x client libraries.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms