我编写了一些 Java 代码来启动和停止 MQ 通道。我在 MQ 上创建了一个服务器连接通道来测试此代码。但是在执行 Java 代码时,通道的启动和停止都会出错。
停止通道给出以下错误:
about to stop channel
MQJE001: Completion Code 2, Reason 2202
开始频道给出以下错误:
com.ibm.mq.MQException: MQJE001: An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009
代码:
package com.asm.MQListenerChannelRestart;
import com.ibm.mq.pcf.*;
import com.ibm.mq.*;
import com.ibm.mq.pcf.CMQCFC;
public class MQListenerChannelRestart implements CMQCFC {
public void startChannel(PCFAgent pcfAgent){
PCFParameter [] parameters = new PCFParameter [] {
new MQCFST (MQCACH_CHANNEL_NAME, "TESTChanne"),
new MQCFST(MQCACH_USER_ID,"user"),
new MQCFST(MQCACH_PASSWORD,"password")
};
try {
System.out.println("about to start channel");
MQMessage [] pcfResponses = pcfAgent.send (MQCMD_START_CHANNEL,
parameters);
MQCFH cfh = new MQCFH(pcfResponses[0]);
System.out.println("Parameter count="+cfh.parameterCount);
System.out.println("Reason = "+cfh.reason);
System.out.println(cfh.toString());
pcfResponses = pcfAgent.send(MQCMD_INQUIRE_CHANNEL_STATUS, parameters);
cfh = new MQCFH(pcfResponses[0]);
System.out.println("Channel status is ==="+cfh.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public void stopChannel(PCFAgent pcfAgent){
PCFParameter [] parameters = new PCFParameter [] {
new MQCFST (MQCACH_CHANNEL_NAME, "TESTChanne"),
new MQCFIN (MQIACF_QUIESCE, MQQO_NO )
};
try {
System.out.println("about to stop channel");
MQMessage [] pcfResponses = pcfAgent.send (MQCMD_STOP_CHANNEL,
parameters);
MQCFH cfh = new MQCFH(pcfResponses[0]);
System.out.println("Parameter count="+cfh.parameterCount);
System.out.println("Reason = "+cfh.reason);
System.out.println(cfh.toString());
pcfResponses = pcfAgent.send(MQCMD_INQUIRE_CHANNEL_STATUS, parameters);
cfh = new MQCFH(pcfResponses[0]);
System.out.println("Channel status is ==="+cfh.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
PCFAgent pcfAgent = null;
MQListenerChannelRestart mqListenerChannelRestart = new MQListenerChannelRestart();
mqListenerChannelRestart.stopChannel(pcfAgent);
mqListenerChannelRestart.startChannel(pcfAgent);
}
}
有人可以帮我解决这个问题吗?