我正在编写一个简单的java程序来连接到远程WebSphere MQ Queue Manager,但它显示错误:MQJE001: Completion Code '2', Reason '2009'
然而,当我使用WMQ Explorer连接时,它连接起来,我能够看到队列中的消息。请帮助。我的代码是:
public void init(){
props.put(MQC.HOST_NAME_PROPERTY, "sailmq3d.pok.ibm.com");
props.put(MQC.CHANNEL_PROPERTY, "PLM.SECURE.SVRCONN");
props.put(MQC.PORT_PROPERTY, 1423); // port number
props.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES);
}
public void start(){
try {
// Create a connection to the queue manager
qMgr = new MQQueueManager("PLMESB_SBMD2",props);
答案 0 :(得分:0)
PLM.SECURE.SVRCONN
频道定义如下所示:
AMQ8414: Display Channel details.
CHANNEL(PLM.SECURE.SVRCONN) CHLTYPE(SVRCONN)
ALTDATE(2011-01-30) ALTTIME(15.02.56)
COMPHDR(NONE) COMPMSG(NONE)
DESCR( ) HBINT(300)
KAINT(AUTO) MAXINST(999999999)
MAXINSTC(999999999) MAXMSGL(4194304)
MCAUSER(nobody) MONCHL(QMGR)
RCVDATA( ) RCVEXIT( )
SCYDATA( )
SCYEXIT(/var/mqm/exits64/PLMESB_SBMD2/ESBSecurityExit(ChannelExit))
SENDDATA( ) SENDEXIT( )
SHARECNV(10) SSLCAUTH(REQUIRED)
SSLCIPH( ) SSLPEER( )
TRPTYPE(TCP)
鉴于该频道上有自定义安全出口,因此无法说明您收到2009年返回代码的原因。可能最好的办法是查看安全出口日志。
通过WMQ Explorer的连接可能正在使用没有退出的SYSTEM.ADMIN.SVRCONN
。
我看到还为该频道定义了CLNTCONN,它需要客户端退出。如果您的Java客户端使用客户端Conn定义表(CCDT),那么这将使问题进一步复杂化。 CLNTCONN存在并列出客户端退出的事实表明,如果没有客户端退出,PLM.SECURE.SVRCONN
将无效。