一个websphere mq v7的问题
各个大虾:小弟最近在研究mq时遇到一个问题,我在自己的机器上面安装了一个mq然后做了以下操作:
1.通过“crtmqm QM”创建了一个队列管理器
2.通过“strmqm Q”创建了一个队列
3.连接到队列管理器后使用“define qlocal (Q)”和“define channel (test) chltype (svrconn) replace”定义了一个本地队列和服务器连接通道。
然后我写了一段程序,目的是通过客户端连接的方式,向这个队列里面写消息。然后将将队列中的消息读出。但是一运行程序就报
"MQJE001: 完成代码为“2”,原因为“2059”A WebSphere MQ Error occured : Completion Code 2 Reason Code 2059"的错误。所以在此情各位高手指点迷津,小弟不甚感激
程序代码如下:
public class Sender3 {
public static void main(String[] args) {
Sender3 sender=new Sender3();
sender.test();
}
public void test() {
String qManager = "QM";
String qName = "Q";
try {
MQEnvironment.hostname="localhost";
MQEnvironment.port=1414;
MQEnvironment.channel="test";
MQEnvironment.CCSID =1381;
System.out.println("Connecting to queue manager: "+qManager);
MQQueueManager qMgr = new MQQueueManager(qManager);
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
System.out.println("Accessing queue: "+qName);
MQQueue queue = qMgr.accessQueue(qName, openOptions);
MQMessage msg = new MQMessage();
msg.writeUTF("Hello, World!");
MQPutMessageOptions pmo = new MQPutMessageOptions();
System.out.println("Sending a message...");
for(int j=0;j<5;j++){
String str ="test11111111111";
str = str+j;
msg.writeUTF(str);
queue.put(msg, pmo);
}
queue.put(msg, pmo);
MQMessage rcvMessage = new MQMessage();
MQGetMessageOptions gmo = new MQGetMessageOptions();
System.out.println("...and getting the message back again");
queue.get(rcvMessage, gmo);
String msgText = rcvMessage.readUTF();
System.out.println("The message is: " + msgText);
queue.close();
System.out.println("Disconnecting from the Queue Manager");
qMgr.disconnect();
}
catch (MQException ex) {
System.out.println("A WebSphere MQ Error occured : Completion Code "
+ ex.completionCode + " Reason Code " + ex.reasonCode);
}
catch (java.io.IOException ex) {
System.out.println("An IOException occured whilst writing to the message buffer: "
+ ex);
}
}
}
补充:企业软件 , 中间件