File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Websphere and the fly likes VAJ and WAS. problems with classloaders Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » Websphere
Bookmark "VAJ and WAS. problems with classloaders" Watch "VAJ and WAS. problems with classloaders" New topic

VAJ and WAS. problems with classloaders

Erik Lindholm

Joined: Feb 26, 2002
Posts: 18
I am using IBM WebSphere Mqseries and the MQ base-classes in windows2000.
That means I am not using JMS-classes for MQ.
I am just using MQ on my own machine so my query-manager is "QM_oemcomputer".
My application (JSP/servlets/javabeans) worked ok some weeks, but one day I discovered 2 problems:
problem 1:
This regard just VAJ (VisualAge for Java).
The error is: java.lang.UnsatisfiedLinkError no mqjbnd02 in java.library.path
I get the error in the following statement:qMgr = new MQQueueManager("QM_oemcomputer");
I have checked that the folder for mqjbnd02.dll is in the CLASSPATH environmentvariabel.
I am testing with WebSphere Test Environment in VAJ and I have also put this folder (with mqjbnd02.dll)
in the Class Path for WTE. I have imported the neccessary MQ-classes into VAJ and is therefore not
running with jar-files.
When I try the function (from my browser as a client) for the second time I dont get the same error, but I get:
java.lang.NoClassDefFoundError on class: MQSESSION
This also happens the third time, the fourth time .....aso
I feel that everything is like it was when it was working ok, but I guess I have done something in between
that has caused the problem.
problem 2:
This regards just WAS (WebSphere Application Server).
The first time I start up my application it works ok. I then stop the application in the
WebSphere Advanced Administrative Console and then start the application again.
The application starts up ok, but when I try to run it on a browser as a client I get the error:
java.lang.UnsatisfiedLinkError ..... Native Library C:\Programfiler\IBM\MQSeries Integrator 2.0\bin\mqjbnd02.dll already loaded in another classloader
I have to boot the machine again to make my MQ-application work again.

I wonder if these two problems is caused by the same problem. I guess I somehow have messed up my classloaders.
I have found several similar problems in discussions forums on Internett, but I have not found good answers.
Can anyone in JavaRanch help me ?

Joined: Nov 08, 2002
Posts: 7
Hi Erik,
The java.lang.UnsatisfiedLinkError is encountered when the environment variable java.library.path is not set.
Depending on which version of WAS you are using, you must set LIB_PATH (WAS 3.x) in environment variable or java.library.path (WAS 4.x) in the system properties of the JVM.
This variable must point to the directory where your dll is located.
You can also set the java.library.path in VAJ with -D parameter of the JVM.
Erik Lindholm

Joined: Feb 26, 2002
Posts: 18
At last I have solved these two problems.
Problem 1 in VAJ (4.0):
I made the statement:
System.out.println("java.library.path: " + System.getProperty("java.library.path"));
Then I knew what library-path I actually was using. I then solved the problem by copying the actual file to one of these existing directories in the library-path.
Problem 2 in WAS (4.0):
I was using the "MODULE" option of the "Module visibility". I changed this to "APPLICATION" option. Then it worked ok when I stopped and restarted my application. The "Module visibility" is set in the WebSphere Advanced Administrative Console in the folder:
oemcomputer (in my case)
Application Server
Default Server (in my case)
I agree. Here's the link:
subject: VAJ and WAS. problems with classloaders
It's not a secret anymore!