|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
UnsatisfiedLinkError - Solved, kind of |
« View previous topic :: View next topic » |
Author |
Message
|
fordcam |
Posted: Fri Jan 09, 2004 11:32 am Post subject: UnsatisfiedLinkError - Solved, kind of |
|
|
 Apprentice
Joined: 28 Mar 2002 Posts: 35 Location: MGIC
|
I'm trying to use the MQ base Java classes from Lotus Notes with mixed success. Notes programs running as an MQ-JAVA client work just fine. But if I starta Notes program that uses bindings mode, a get an error, specifically:
JVM: Java Virtual Machine initialized.
Agent error: java.lang.NullPointerException
Agent error: at JavaAgent.NotesMain(JavaAgent.java:178)
Agent error: at lotus.domino.AgentBase.runNotes(Unknown Source)
Agent error: at lotus.domino.NotesThread.run(NotesThread.java:208)
Agent error: java.lang.UnsatisfiedLinkError: Can't find library mqjbnd04 (mqjbnd04.dll) in java.library.path
java.library.path=C:\ma7k;.;C:\WINNT\System32;C:\WINNT;C:\MQJava\lib;C:\WINNT\system32;C:\WINNT;c:\notes\;d:\notes\data\;C:\Program Files\MQSeries\tools\c\samples\bin;C:\Program Files\MQSeries\bin;C:\Program Files\contact admin\mqcont\bin;C:\Program Files\Network Associates\GroupShield Domino 5.0;C:\Program Files\Common Files\Network Associates\VirusScan Engine\4.0.xx\;m:\notes;C::CN=MGIC-TestSrv01/O=MGIC
The way I'm reading this, mqjbnd04.dll cannot be found in the system path. But the C:\MQJava\lib that's in the path DOES contain mqjbnd04.dll. [Note: we installed MA88 into MQJava\lib because Notes only allows yo to add 254 characters of user data to its CLASSPATH.]
I know that this has been asked and answered many times. Yet I'm stumped!
Last edited by fordcam on Wed Jan 28, 2004 10:12 am; edited 1 time in total |
|
Back to top |
|
 |
vatz |
Posted: Fri Jan 16, 2004 3:57 am Post subject: Re: UnsatisfiedLinkError |
|
|
Newbie
Joined: 16 Jan 2004 Posts: 5
|
Does your [b]PATH[/b] env variable contain the path to the mqjbnd04.dll i.e. MQJava\lib in your case?
If not, add it and try. |
|
Back to top |
|
 |
fordcam |
Posted: Fri Jan 16, 2004 7:18 am Post subject: Re: UnsatisfiedLinkError |
|
|
 Apprentice
Joined: 28 Mar 2002 Posts: 35 Location: MGIC
|
vatz wrote: |
Does your PATH env variable contain the path to the mqjbnd04.dll i.e. MQJava\lib in your case?
If not, add it and try. |
Yes, C:\MQJava\lib is in the path.
Just to see what would happen I copied mqjbnd04.dll to Lotus Notes's bin directory, and that cleared up the problem. But I certainly don't want to keep MQ's code in Notes' directories, so I'm not totally happy. But it does work anyway. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jan 16, 2004 7:58 am Post subject: Re: UnsatisfiedLinkError |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
fordcam wrote: |
I copied mqjbnd04.dll to Lotus Notes's bin directory, and that cleared up the problem. |
Then the mqjbnd04.dll is not in the PATH that is active for your Lotus Notes application. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fordcam |
Posted: Fri Jan 16, 2004 8:05 am Post subject: Re: UnsatisfiedLinkError |
|
|
 Apprentice
Joined: 28 Mar 2002 Posts: 35 Location: MGIC
|
JeffLowrey wrote: |
fordcam wrote: |
I copied mqjbnd04.dll to Lotus Notes's bin directory, and that cleared up the problem. |
Then the mqjbnd04.dll is not in the PATH that is active for your Lotus Notes application. |
Well, that's a logical conclusion, all right. The Notes support guy here says that as far as he knows, Notes uses the system path. But Notes is a pretty self-contained environment (here, anyway), and this would never have come up before. So it's probably up to me to figure this out.
OT, sort of, it would be nice if IBM published a document describing how to integrate MQ, JAVA and Notes. If they have, though, I can't find it. |
|
Back to top |
|
 |
JasonE |
Posted: Fri Jan 16, 2004 8:37 am Post subject: |
|
|
Grand Master
Joined: 03 Nov 2003 Posts: 1220 Location: Hursley
|
Is the mqjava\lib dir on the User or System portion when you look in the environment variables. If User, and notes runs as a service, then it will appear on *your* path but not the path used by the service control manager.
Note for the SCM to pick up env var changes, a reboot is required. |
|
Back to top |
|
 |
fordcam |
Posted: Fri Jan 16, 2004 2:41 pm Post subject: |
|
|
 Apprentice
Joined: 28 Mar 2002 Posts: 35 Location: MGIC
|
C:\MQJava\lib is in the system portion of the path, and we did reboot. Way back in the first post, the error message says "Can't find library mqjbnd04 (mqjbnd04.dll) in java.library.path" and then "java.library.path=[a long list of libraries]".
C:\MQJava\lib is in the list of libraries, and mqjbnd04.dll is in C:\MQJava\lib. Which is why I'm stumped.
I'm sticking with my theory that Notes isn't using the system path for some reason (I like to blame Notes whenever possible). Of course, the error message shows that it is using the system path, so my theory is wrong. |
|
Back to top |
|
 |
fordcam |
Posted: Wed Jan 28, 2004 10:10 am Post subject: |
|
|
 Apprentice
Joined: 28 Mar 2002 Posts: 35 Location: MGIC
|
Well, it turns out my theory is probably right. There's no serious documentation on integrating MQSeries, Java and Notes that I can find. But I did find a tutorial that someone at IBM put together.
In the tutorial, he mentions that you may encounter an error that indicates that the program could not find mqjbnd05.dll, even though the program is in the path. His suggestion is to copy the DLL to the directory containing Notes binaries.
Nobody here is all that happy with having MQ DLLs in Notes directories, or with the 254 character classpath limitation, but that's Notes for you. And, bottom line, it does work. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|