MQ-7连接问题

时间:2014-02-06 06:53:24

标签: java ibm-mq

下面是我用来检查连接性的代码

String qManager="";

int openOptions =  CMQC.MQOO_FAIL_IF_QUIESCING + CMQC.MQOO_INPUT_SHARED + CMQC.MQOO_INQUIRE+CMQC.MQOO_BROWSE;

try{
        Hashtable props = new Hashtable();

        props.put(CMQC.HOST_NAME_PROPERTY, "IP"); 
        props.put(CMQC.PORT_PROPERTY, port_num);
        props.put(CMQC.CHANNEL_PROPERTY, "SYSTEM.DEFAULT.LOCAL.QUEUE");

        MQQueueManager qMgr = new MQQueueManager("QM", props);

        MQQueue destQueue = qMgr.accessQueue("Q_name",   openOptions);
        System.out.println("Connected");

        destQueue.close();
        qMgr.disconnect();
}catch(MQException mqe){
    System.out.println(mqe.reasonCode);
}
}   

}

当我运行程序时,我得到了这个例外

MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
2009
Closure reason = 2009
MQJE001: Completion Code 2, Reason 2009

请帮助我

2 个答案:

答案 0 :(得分:0)

我怀疑这里有两件事:

  1. props.put(CMQC.HOST_NAME_PROPERTY,“IP”); < - 主机名这么短吗?
  2. props.put(CMQC.CHANNEL_PROPERTY,“SYSTEM.DEFAULT.LOCAL.QUEUE”); < - 为什么本地队列名称设置为通道属性
  3. MQ安装的“tools”文件夹中有一些示例可以帮助您。

答案 1 :(得分:0)

我在IBM Websphere MQ-7中遇到此错误bcoz启用了通道安全性。禁用通道安全后,我能够连接它