当前位置:编程学习 > 网站相关 >>

一个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);
                }

      }
}
补充:企业软件 ,  中间件
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,