Test Only - WebSphere MQ Hints, Tips and Troubleshooting
Here is an image
The inspiration for this post comes from a post by ThirdInstance I ran across on the WebSphere Application Server forum on developerWorks.
If you use WebSphere Application Server (WAS) and WebSphere MQ (WMQ) together and you're seeing UnsatisfiedLinkError exceptions then keep reading!
The cause of an java.lang.UnsatisfiedLinkError, with respect to WMQ interactions, stems from a condition in which a native-language method definition (that is, a method declared with the native modifier in the Java code) is encountered but the JVM cannot locate the native library from which the native method is to be invoked from. In simpler terms: the Java code is trying to utilize some native libraries and the library files (e.g. library.so, library.a, library.dll, etc.) are not found in the MQ_INSTALL_ROOT WebSphere variable or in a native library definition (I.e. shared library, java.library.path argument, or WMQ JMS Provider definition).
To fix this:
JMS Providers panel (click image to enlarge)
One last thing to note. UnsatisfiedLinkErrors can also crop up when the problem is not related to missing native library files. It can also occur if an application that requires native libraries is restarted and the application class loader attempts to reload the native libraries again. Since the libraries are already loaded with the application the first time it was started, the exception is thrown. Configuring you native library requirements in a WebSphere Shared Library can help you avoid this problem during application restarts.