Author |
Message
|
RAHULTHOTA |
Posted: Thu Feb 06, 2003 5:27 am Post subject: LINKING JVM WITH MQ |
|
|
Novice
Joined: 13 Dec 2002 Posts: 13
|
Hi,
I have installed JDK131_V31 in place of JDK122_V20 on Tandem m/c.I have done all the necessary changes like changing .profile,compiling maklefile,changing the links etc.After that i was able to compile my code but at runtime it is giving me the following error(this pgm uses mq).
/usr/tandem/webserver/SFMS/classes : java senderrreceiver.ReceiverProcessHB
Exception in thread "main" java.lang.UnsatisfiedLinkError: _MQCONN
at com.ibm.mq.server.MQSESSION.MQCONN(MQSESSION.java, Compiled Code)
at com.ibm.mq.MQQueueManager.connect(MQQueueManager.java, Compiled Code)
at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java, Compiled Code)
at coms.core.utils.MQAPI.connectToQmanager(MQAPI.java, Compiled Code)
at senderreceiver.ReceiverProcessHB.main(ReceiverProcessHB.java, Compile
d Code)
Can any one explain me how to link the JVM with MQ.In the past it was working well with jdk122_v20.All other programs which do not use mq are working fine |
|
Back to top |
|
 |
mqonnet |
Posted: Thu Feb 06, 2003 5:48 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
You have to get NSJ(Non stop java) either version 1.3 or 2 as per your requirements and needs. And then create your JVM, compile, bind and then you should be fine. You can find the docs in readme and opt/mqm/samp directories on OSS which would give you detailed explaination as to how you could compile your JVM and apps.
Note, you would get the above feature only if you selected to install MQMPAX when you ran your install program.
JDK as is, is not supported on Tandem.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
RAHULTHOTA |
Posted: Thu Feb 06, 2003 11:36 pm Post subject: JAVA-MQ ON TANDEM |
|
|
Novice
Joined: 13 Dec 2002 Posts: 13
|
Thanks for the reply Mr Kumar. Actually i have upgraded my JDK122_V20 to JDK131_V31.After that i have changed my .profile ,compiled it and compiled the make file.It did all the things succesfully. But at run time it was giving the error as mentioned in my previous mail.
JDK122_V20 was running fine with MQ Series 5.1. I just want to know whether there are any compatibility issues with JDK131_V31 and how to relink with new JDK131_V31 |
|
Back to top |
|
 |
mqonnet |
Posted: Fri Feb 07, 2003 5:45 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
I havent tried using V13 but i would think it should work fine.
I would again reiterate my earlier post. If you installed MQ with MQMPAX installed, you should see /opt/mqm/samp/java. You can find a file called javareadme which gives you detailed steps to follow to link your jvm to MQ. Go through it and it should help you.
Bear in mind you have to have NSJ 1.3, if thats what you are talking about. If you just upgraded JDK to 1.3, dont think that has any impact what so ever. In that latter case, you still need to go through the same readme that i mentioned earlier and need to link your NEW java executable from JDK1.3 to the jar files from v122.
Hope this helps. Its a bit confusing to start with, but you should be able to get around it.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
RAHULTHOTA |
Posted: Sun Feb 09, 2003 8:31 pm Post subject: |
|
|
Novice
Joined: 13 Dec 2002 Posts: 13
|
Thanks Kumar.But i find that the path specified by u is different to one that i have.In the path specified by u /opt/mqm/samp there are only some .c files but there is no java directory as specified by u.I do have a directory called java in the path opt/mqm/java/lib/samp.I have a file called Makefile.JVM in this path.Since the MQ -Installation has been done by IBM people I am not sure whether is there any mistake in the installation.
We do not use NSSJava . As mentioned earlier we just upgraded the jdkv1.2.2 version to jdk1.3.3 version. |
|
Back to top |
|
 |
mqonnet |
Posted: Mon Feb 10, 2003 5:54 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
I guess you are still on GA version of the product and thus you dont see a "java" directory under Samp directory. If so, i would recommend you to upgrade to CSD01 which has fixes for latter versions. I believe that the GA version had some issues because of which you were unable to link your JVM to any NSJ version beyond 1.1.
Coming to your doubt. As you pointed out that you have a java/lib/samp directory and Makefile.JVM. Check that out, you would have a variable with value something like this...
JAVA_HOME = /usr/tandem/nssjava/jdk1.1.2_r1.5
This is the path for NSSjava on your system. And since IBM installed it on your system you might not have come to know about it. But now that you upgraded your JDK to 1.3, you want your new JVM to be able to perform MQ ops. And you can achieve this by relinking your JVM to the appropriate NSJ jar files. I dont think you can have JDK1.3 linking to NSJ1.1 libraries. And hence you might have to get either NSJ1.2 or further.
HOpe this helps.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
RAHULTHOTA |
Posted: Mon Feb 10, 2003 11:36 pm Post subject: |
|
|
Novice
Joined: 13 Dec 2002 Posts: 13
|
Thanx Kumar.
HP guys are looking into our problem. Basically, We have a strange problem in our application. The memory is getting piled up for every message the MQ processes. If I am processing 1000 messages at a time it is throwing AMQ6118 and which says" cannot extend the segment". It is all because of the MQ-JVM communication. I strongly feel that it is not binded properly as it supposed to be.
As you said that we are still using the GA version of MQ. How to find out what version of MQ is running on our machine.?? How to get the CSD01 patch??
Any help in this regard is greatly appreciated. |
|
Back to top |
|
 |
mqonnet |
Posted: Tue Feb 11, 2003 5:42 am Post subject: |
|
|
 Grand Master
Joined: 18 Feb 2002 Posts: 1114 Location: Boston, Ma, Usa.
|
Many ways to find out what version you are using on NSK. Easiest one would be to do a fileinfo on the mqsrllib file to see what date it shows. If it shows 2001, then you are on GA version. If it shows july 2002, then you are on CSD01.
You can download and apply CSD01 for free from the internet. Below is the URL for the same.
http://www-3.ibm.com/software/ts/mqseries/support/summary/nsk.html
What i dont understand though is, you started this post saying you were unable to bind and link your JVM and no MQ api calls were successfull. In your latest post you said that you were putting 1000 messages and getting segmentation errors. How are you able to achieve this??? Or are we moving away to a different question altogether.
My recollection is CSD01 code base has many fixes to segmentation and memory errors.
As mentioned earlier, i would strongly recommend you to upgrade to CSD01 and then try your test case again.
Cheers.
Kumar _________________ IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator |
|
Back to top |
|
 |
|