Author |
Message
|
anotherID |
Posted: Tue Jun 21, 2011 6:51 am Post subject: JAVA API code in "usning java" is dated ? API is |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
Hi,
I just have to test connection to Q-manager using java.
Here is the code I took from the net and try to use updated options for MQQueue.
Here is the code:
Code: |
# cat MQSample.java
import com.ibm.mq.*;
public class MQSample
{
private String qManager = "your_Q_manager";
private MQQueueManager qMgr;
public static void main(String args[]) {
new MQSample();
}
public MQSample() {
try {
qMgr = new MQQueueManager(qManager);
int openOptions = CMQC.MQOO_BROWSE ; // CMQC.MQOO_INPUT_AS_Q_DEF |
//CMQC.MQOO_OUTPUT ;
MQQueue system_default_local_queue =
qMgr.accessQueue("SYSTEM.DEFAULT.LOCAL.QUEUE",
openOptions);
MQMessage hello_world = new MQMessage();
hello_world.writeUTF("Hello World!");
MQPutMessageOptions pmo = new MQPutMessageOptions();
system_default_local_queue.put(hello_world,pmo);
MQMessage retrievedMessage = new MQMessage();
retrievedMessage.messageId = hello_world.messageId;
MQGetMessageOptions gmo = new MQGetMessageOptions();
system_default_local_queue.get(retrievedMessage, gmo);
String msgText = retrievedMessage.readUTF();
System.out.println("The message is: " + msgText);
system_default_local_queue.close();
qMgr.disconnect();
}
catch (MQException ex)
{
System.out.println("A WebSphere MQ error occurred : Completion code " +
ex.completionCode + " Reason code " + ex.reasonCode);
}
catch (java.io.IOException ex)
{
System.out.println("An error occurred whilst writing to the message buffer: " + ex);
}
}
} |
That is the error I get when I compile:
Code: |
# javac MQSample.java
MQSample.java:23: cannot find symbol
symbol : variable CMQC
location: class MQSample
int openOptions = CMQC.MQOO_BROWSE ;
^
1 error |
That what I have installed:
Code: |
# rpm -aq | grep -i mq
MQSeriesClient-7.0.1-3.i386
MQSeriesKeyMan-7.0.1-3.i386
MQSeriesFTA-7.0.1-3.i386
MQSeriesSamples-7.0.1-3.i386
MQSeriesRuntime-7.0.1-3.i386
MQSeriesTXClient-7.0.1-3.i386
MQSeriesServer-7.0.1-3.i386
MQSeriesJava-7.0.1-3.i386
MQSeriesConfig-7.0.1-3.i386
MQSeriesEclipseSDK33-7.0.1-3.i386
MQSeriesJRE-7.0.1-3.i386
MQSeriesSDK-7.0.1-3.i386 |
Thanks. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Jun 21, 2011 6:57 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
|
Back to top |
|
 |
anotherID |
Posted: Tue Jun 21, 2011 7:21 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
I am sorry but that link is not much help to me. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 21, 2011 11:02 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
anotherID wrote: |
I am sorry but that link is not much help to me. |
I thought you understood java? Seems like you are missing jars on your classpath, or that one of your import statements may need to be changed...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
anotherID |
Posted: Tue Jun 21, 2011 11:52 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
I followed the instruction to set it up.
Code: |
# echo $CLASSPATH
/opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/java/lib/connector.jar:/opt/mqm/java/lib |
Code: |
ls /opt/mqm/java/lib/
CL3Export.jar com.ibm.mq.jmqi.jar dhbcore.jar libmqjbnd.so
CL3Nonexport.jar com.ibm.mqjms.jar fscontext.jar libmqjexitstub02.so
com.ibm.mq.axis2.jar com.ibm.mq.jms.Nojndi.jar jca libPgmIpLayer.so
com.ibm.mq.commonservices.jar com.ibm.mq.pcf.jar jdbc OSGi
com.ibm.mq.defaultconfig.jar com.ibm.mq.postcard.jar jms.jar providerutil.jar
com.ibm.mqetclient.jar com.ibm.mq.soap.jar jndi.jar rmm.jar
com.ibm.mq.headers.jar com.ibm.mq.tools.ras.jar jta.jar soap
com.ibm.mq.jar connector.jar ldap.jar
|
|
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 21, 2011 12:55 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
anotherID wrote: |
I followed the instruction to set it up.
Code: |
# echo $CLASSPATH
/opt/mqm/java/lib/com.ibm.mq.jar:/opt/mqm/java/lib/connector.jar:/opt/mqm/java/lib |
Code: |
ls /opt/mqm/java/lib/
CL3Export.jar com.ibm.mq.jmqi.jar dhbcore.jar libmqjbnd.so
CL3Nonexport.jar com.ibm.mqjms.jar fscontext.jar libmqjexitstub02.so
com.ibm.mq.axis2.jar com.ibm.mq.jms.Nojndi.jar jca libPgmIpLayer.so
com.ibm.mq.commonservices.jar com.ibm.mq.pcf.jar jdbc OSGi
com.ibm.mq.defaultconfig.jar com.ibm.mq.postcard.jar jms.jar providerutil.jar
com.ibm.mqetclient.jar com.ibm.mq.soap.jar jndi.jar rmm.jar
com.ibm.mq.headers.jar com.ibm.mq.tools.ras.jar jta.jar soap
com.ibm.mq.jar connector.jar ldap.jar
|
|
So what? you are still missing a jar on your classpath.
To find out which you can try a jar -tvf of the different jar files and see where you find MQConstants ?? _________________ MQ & Broker admin |
|
Back to top |
|
 |
anotherID |
Posted: Tue Jun 21, 2011 6:37 pm Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
No jar file has that string. Should I add every single jar file in the class path and then try?
Is this because this package is from IBM and its trial version ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 21, 2011 9:01 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
anotherID wrote: |
No jar file has that string. Should I add every single jar file in the class path and then try? |
Sounds like your best idea so far  _________________ MQ & Broker admin |
|
Back to top |
|
 |
anotherID |
Posted: Wed Jun 22, 2011 6:43 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
Ok I do that.
I hope there is a happy ending to all this. |
|
Back to top |
|
 |
anotherID |
Posted: Wed Jun 22, 2011 6:59 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
nope.
this is my class path.
Code: |
# echo $CLASSPATH
/opt/mqm/java/lib/com.ibm.mq.jar:
/opt/mqm/java/lib/connector.jar:
/opt/mqm/java/lib:
/opt/mqm/java/lib/com.ibm.mq.tools.ras.jar:
/opt/mqm/java/lib/soap/servlet.jar:
/opt/mqm/java/lib/soap/jaxrpc.jar:
/opt/mqm/java/lib/soap/commons-logging-1.0.4.jar:
/opt/mqm/java/lib/soap/commons-discovery-0.2.jar:
/opt/mqm/java/lib/soap/wsdl4j-1.5.1.jar:
/opt/mqm/java/lib/soap/saaj.jar:
/opt/mqm/java/lib/providerutil.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.wmq.prereq_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.jms_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.wmq.nls_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.commonservices.j2se_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.wmq_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.mq.osgi.xa_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.jms.prereq_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.mq.osgi.directip_7.0.1.3.jar:
/opt/mqm/java/lib/OSGi/com.ibm.msg.client.osgi.nls_7.0.1.3.jar:
/opt/mqm/java/lib/com.ibm.mq.axis2.jar:
/opt/mqm/java/lib/com.ibm.mq.postcard.jar:
/opt/mqm/java/lib/jta.jar:
/opt/mqm/java/lib/com.ibm.mq.jar:
/opt/mqm/java/lib/com.ibm.mq.pcf.jar:
/opt/mqm/java/lib/com.ibm.mq.headers.jar:
/opt/mqm/java/lib/jndi.jar:
/opt/mqm/java/lib/dhbcore.jar:
/opt/mqm/java/lib/CL3Nonexport.jar:
/opt/mqm/java/lib/com.ibm.mq.jmqi.jar:
/opt/mqm/java/lib/com.ibm.mqetclient.jar:
/opt/mqm/java/lib/rmm.jar:
/opt/mqm/java/lib/ldap.jar:
/opt/mqm/java/lib/CL3Export.jar:
/opt/mqm/java/lib/com.ibm.mqjms.jar:
/opt/mqm/java/lib/com.ibm.mq.soap.jar:
/opt/mqm/java/lib/fscontext.jar:
/opt/mqm/java/lib/com.ibm.mq.jms.Nojndi.jar:
/opt/mqm/java/lib/connector.jar:
/opt/mqm/java/lib/jms.jar:
/opt/mqm/java/lib/com.ibm.mq.commonservices.jar:
/opt/mqm/java/lib/com.ibm.mq.defaultconfig.jar |
the call:
Code: |
int openOptions = CMQC.MQOO_BROWSE ; |
Code: |
The error:
]# javac MQSample.java
MQSample.java:21: cannot find symbol
symbol : variable CMQC
location: class MQSample
int openOptions = CMQC.MQOO_BROWSE ; // CMQC.MQOO_INPUT_AS_Q_DEF |
^
1 error
|
What Is not so reasonable here is, I found that call "CMQC.MQOO_BROWSE" from the documents which came with this whole software package.
Out of all sciences comp-science sucks the most. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jun 22, 2011 7:05 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Add an *explicit* import for com.ibm.mq.constants.CMQC. |
|
Back to top |
|
 |
anotherID |
Posted: Wed Jun 22, 2011 7:47 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
mqjeff wrote: |
Add an *explicit* import for com.ibm.mq.constants.CMQC. |
That worked.
Thanks. |
|
Back to top |
|
 |
anotherID |
Posted: Wed Jun 22, 2011 8:48 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
ok It compiles fine now.
but when I run it I get following error.
Code: |
# java MQSample
MQJE001: Completion Code '2', Reason '2495'.
A WebSphere MQ error occurred : Completion code 2 Reason code 2495
|
Plus is there any javac compiler options to get detailed debug information? |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jun 22, 2011 9:12 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
|
Back to top |
|
 |
anotherID |
Posted: Wed Jun 22, 2011 9:20 am Post subject: |
|
|
Novice
Joined: 21 Jun 2011 Posts: 19
|
Thanks but I figured it out.
After setting up
Code: |
export LD_LIBRARY_PATH=/opt/mqm/java/lib/ |
that error went away..
Now I am getting
Code: |
MQJE001: Completion Code '2', Reason '2058' |
|
|
Back to top |
|
 |
|