Author |
Message
|
vc1981 |
Posted: Thu Oct 19, 2006 3:42 am Post subject: 64 bit JVM and 32 bit MQ binaries |
|
|
Apprentice
Joined: 18 Jan 2006 Posts: 46
|
Hi ,
I have a java application on a 64bit linux box ,which is connecting to a MQ queue manager in a MQ bindings mode . when i am trying to connect to the Queue manager in binding mode i am getting a error which says :
java.lang.UnsatisfiedLinkError: mqjbnd05 (/opt/mqm/java/lib/libmqjbnd05.so: cannot open shared object file: No such file or directory)
I have set the environement varibles also i checked the thread
http://www.mqseries.net/phpBB2/viewtopic.php?t=28942&highlight=unsatisfiedlinkerror
which has a solution for a similar issue .
Though i am able to establish connection to the this queue manager from this application in the client mode ,using the server connection channel .
Now the question that i had was that if the 64bit JVM is not compatible with 32 bit MQ lib files , then how can i connect to the same queue manager when i use a client mode ( using a server conn )..... Since i am getting a error in the bindings mode i should getting a similar error in the client mode as well . _________________ Regards ,
VC |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Oct 19, 2006 3:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
There's no reason to expect that a problem with a server connection would have anything to do with a client connection.
They use entirely different pieces of code and talk to the queue manager through almost entirely different paths (the client agent is a server application, so everything on the other side of the client agent s the same).
And I guarantee that the client agent is running in an environment that is correctly set up for a server connection - which your program must not be.
Go back to your Quick Beginnings Guide and read the relevant "Implications of a 64bit queue manager" page a few times.
Then reconsider your library paths and your classpaths. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vc1981 |
Posted: Thu Oct 19, 2006 4:23 am Post subject: |
|
|
Apprentice
Joined: 18 Jan 2006 Posts: 46
|
Thanks for your response .
I am using MQ 5.3 CSD 10 and my queue manager is 32 bit , its my JVM that's having a 64 bit process _________________ Regards ,
VC |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Oct 19, 2006 4:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Oct 19, 2006 1:52 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Jeff does a 5.3 qmgr (32 bit) even support a bindings connection with a 64 bit java JVM ?
I thought that for 64 bit JVM to a 5.3 qmgr the only supported connection was a client connection with a specific version of jars? (can't remember wich?). _________________ MQ & Broker admin |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Oct 19, 2006 4:04 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
fjb_saper wrote: |
Jeff does a 5.3 qmgr (32 bit) even support a bindings connection with a 64 bit java JVM ?
I thought that for 64 bit JVM to a 5.3 qmgr the only supported connection was a client connection with a specific version of jars? (can't remember wich?). |
I dunno.
I'd hope the Using Java manual would have something to say about it, though. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vc1981 |
Posted: Fri Oct 20, 2006 12:16 am Post subject: |
|
|
Apprentice
Joined: 18 Jan 2006 Posts: 46
|
Well yes you are right , there is no way to load a 64-bit object into a 32-bit process space, or vice versa ....
https://www-128.ibm.com/developerworks/aix/library/au-JNI_AIX_PAPER.html
But i was wondering if this is the case then how come my client mode ( using a server conenction channel) is working and i am getting error only when i am connecting in the bindings mode . _________________ Regards ,
VC |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Oct 20, 2006 5:08 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The Java MQ API supports a 100% Pure Java client connection. That is, it's a re-implementation of the C library that the regular clients use completely in Java. So you're not loading a 32-bit library into your 64bit JVM, you're just loading Java bytecodes. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|