|
Problem |
A JMS application starts a transaction, but when it tries
to send or receive data to or from a WebSphere® MQ® JMS queue, the
following message is received:
javax.jms.IllegalStateException: Non-MQ or Non Wrapped JMS XAResource
This occurs with WebSphere MQ 5.2 or 5.3. Also, if the application does
not start a transaction, everything works. |
|
Cause |
The wrong classloader is loading the WebSphere MQ classes
for Java™ (the MA88 support pac in MQ 5.2). The application starts a user
transaction and the JMS wrapper successfully calls the MQ getXAResource()
to obtain the MQ resource; however, the JMS wrapper classes needed to
handle the MQ XA resource are not visible to the application classloader.
When the wrapper class sees the transaction, it is not able to identify it
as an MQ transaction and it issues the exception. |
|
Solution |
Verify that the WebSphere MQ classes for Java are not
packaged along with the application, and are not on a JVM™ classpath. Make
sure that the classes are only located in the
Install_Root/lib/ext directory to resolve the
problem. |
|
|
|
|
|
|