My Oracle Support Banner

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 JANUARY 11, 2018

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

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.