2014-02-06 93 views
0

下面嗨是我用来当我运行程序我得到这个异常的连通MQ-7的连接问题

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 

请帮我

回答

0

有是我在这里怀疑的两件事:

  1. props.pu t(CMQC.HOST_NAME_PROPERTY,“IP”); < - 主机名称如此之短?
  2. props.put(CMQC.CHANNEL_PROPERTY “SYSTEM.DEFAULT.LOCAL.QUEUE”); < - 为什么本地队列名称设置为通道属性

有在MQ安装的“工具”文件夹中的一些样品,可以帮助你。

+0

IP是IP地址。我创建使用MQExplorer本地队列,我想“SYSTEM.DEFAULT.LOCAL.QUEUE”是通道名称。你有什么想法如何找到频道名称为本地队列 –

+0

渠道是从队列中不同。您可以使用服务器连接通道。您可以在MQ –

0

我得到这个错误在IBM的Websphere MQ-7 bcoz启用通道的安全。禁用通道安全后,我能够连接它

+0

的信息中心阅读它,我很惊讶原因码是2009年。启用频道安全性时应该是2035年。 – Shashi

+0

你是仪式..但禁用它的工作..我不力udstd..and安全后,我甚至能找到队列深度.. –