Non-MQ or non-wrapped JMS XAResource with WebSphere Application Server V4.0.x
 Technote (FAQ)
 
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.
 
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Classloader
Operating system(s): Windows
Software version: 4.0
Software edition:
Reference #: 1137137
IBM Group: Software Group
Modified date: Apr 1, 2006