Author |
Message
|
Sam Uppu |
Posted: Fri Aug 14, 2009 5:58 am Post subject: Integration with WAS with MQ being JMS provider |
|
|
 Yatiri
Joined: 11 Nov 2008 Posts: 610
|
Hi,
we are running WAS6.1 and MQ7 on a server with solaris 10.
MQ is teh JMS provider and a JMS application is deployed onto WAS6.1. This is a brand new setup what we trying to setup.
In the WAS SystemOut.log, we see the below errors:
Code: |
java.lang.NoClassDefFoundError
at com.ibm.mq.MQSESSIONServer.getMQSESSION(MQSESSIONServer.java:68)
at com.ibm.mq.MQSESSION.getSession(MQSESSION.java:508)
at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:213)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11._createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:186)
at com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:225)
at com.ibm.mq.StoredManagedConnection.<init>(StoredManagedConnection.java:84)
at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:173)
at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:795)
at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:709)
at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:664)
at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:160)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:550)
at com.ibm.mq.MQSPIQueueManager.<init>(MQSPIQueueManager.java:62)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2427)
at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:1806)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:105)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:66)
at com.ibm.mq.jms.MQXAQueueConnection.<init>(MQXAQueueConnection.java:59) |
1. WAS is with a user id called 'testuser' and with this userid we exported the /opt/mqm/java/lib/<*.jar> files into CLASSPATH variable.
2. We created the queue connection factories and queue connections in WAS admin console.
Do you guys think we are still missing something to set?.
Thanks for your thoughts. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 14, 2009 2:00 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
Code: |
java.lang.NoClassDefFoundError |
|
This says it all.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
moonwalker |
Posted: Wed Aug 19, 2009 3:02 am Post subject: |
|
|
 Apprentice
Joined: 02 Jun 2009 Posts: 42
|
Have you added all the jar files required, in the lib folder of your JMS application? If not add the following:
com.ibm.mq.jar, com.ibm.mqjms.jar, jms.jar.
After adding restart the server. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Wed Aug 19, 2009 3:15 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
moonwalker wrote: |
Have you added all the jar files required, in the lib folder of your JMS application? If not add the following:
com.ibm.mq.jar, com.ibm.mqjms.jar, jms.jar.
|
Dont do that! Your tightly coupling your application to a specific version of MQ.
Best to make WAS refer to the correct JARS rather than deploying these with your app! |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 19, 2009 6:39 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
moonwalker wrote: |
After adding restart the server. |
And when the MQ admin applies maintenance you'll need to do this again. Assuming the admin notifies you that maintenance has been applied because the last thing they'll expect is someone using a private copy of software components.
More likely you'll discover that maintenance has been applied when your installation starts throwing errors. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Sam Uppu |
Posted: Wed Aug 19, 2009 10:13 am Post subject: |
|
|
 Yatiri
Joined: 11 Nov 2008 Posts: 610
|
We should not copy the jars into WAS /lib directory. We needed to point the MQ_INSTALL_ROOT environmental variable pointing to /opt/mqm(solaris) and needed to do the following:
1. Log out of the WAS Admin console to take the changes effect.
2. Restart the WAS JVM
3. Log back in to the WAS Admin console
It was able to find all the jars required.
Dont delete the default JMS client what ever is provided with WAS under [WAS_INSTALL]/WMQ/lib.
as per IBM the Bindings mode is not supported while defining the queue connection factory. We should use only Client mode though WAS and MQ are running on the same physical box.
and thats it..
Thanks. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 19, 2009 2:47 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Sam Uppu wrote: |
We should not copy the jars into WAS /lib directory. We needed to point the MQ_INSTALL_ROOT environmental variable pointing to /opt/mqm(solaris) and needed to do the following:
1. Log out of the WAS Admin console to take the changes effect.
2. Restart the WAS JVM
3. Log back in to the WAS Admin console
It was able to find all the jars required.
Dont delete the default JMS client what ever is provided with WAS under [WAS_INSTALL]/WMQ/lib.
as per IBM the Bindings mode is not supported while defining the queue connection factory. We should use only Client mode though WAS and MQ are running on the same physical box.
and thats it..
Thanks. |
And here I thought that the default provided with WAS 6.1 would allow you to connect (as a client ) to MQ V7 and even do XA ??  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Sam Uppu |
Posted: Wed Aug 19, 2009 5:02 pm Post subject: |
|
|
 Yatiri
Joined: 11 Nov 2008 Posts: 610
|
fjb_saper wrote: |
Sam Uppu wrote: |
We should not copy the jars into WAS /lib directory. We needed to point the MQ_INSTALL_ROOT environmental variable pointing to /opt/mqm(solaris) and needed to do the following:
1. Log out of the WAS Admin console to take the changes effect.
2. Restart the WAS JVM
3. Log back in to the WAS Admin console
It was able to find all the jars required.
Dont delete the default JMS client what ever is provided with WAS under [WAS_INSTALL]/WMQ/lib.
as per IBM the Bindings mode is not supported while defining the queue connection factory. We should use only Client mode though WAS and MQ are running on the same physical box.
and thats it..
Thanks. |
And here I thought that the default provided with WAS 6.1 would allow you to connect (as a client ) to MQ V7 and even do XA ??  |
I am not sure whether we can do XA with this approach.
I know we should use Bindings mode when we implement XA transaction but in this scenario I am not sure whether XA will work with this approach.
May be another question to IBM if we go with XA.
Thanks. |
|
Back to top |
|
 |
|