Gibt es eine Möglichkeit, ein PCF-Programm zu schreiben, um den Kanalstatus für Cluster-Sender/Empfänger-Kanäle zu erhalten, die sich im Status "Running" befinden?
Ich habe so etwas, das mir Channel-Status von nur einem Kanal gibt!Wie schreibt man den PCF-Befehl, um den Kanalstatus mit einer Bedingung zu erhalten?
// send the request and collect the responses
String checkStatus="";
String channelName ="";
// build a request
request = new PCFMessage(CMQCFC.MQCMD_INQUIRE_CHANNEL_STATUS);
// add a parameter designating the name of the channel for which status is requested
request.addParameter(CMQCFC.MQCACH_CHANNEL_NAME, "TO.*");
// add a parameter designating the instance type (current) desired
request.addParameter(CMQCFC.MQIACH_CHANNEL_INSTANCE_TYPE, CMQC.MQOT_CURRENT_CHANNEL);
responses = agent.send(request);
for (int j = 0; j < responses.length; j++) {
// get the channel name and trim the spaces
String temp ="";
temp = responses[j].getStringParameterValue(CMQCFC.MQCACH_CHANNEL_NAME);
channelName = temp.trim();
int chlStatus = responses[j].getIntParameterValue(CMQCFC.MQIACH_CHANNEL_STATUS);
//System.out.println("channel status: " + chlStatus);
String[] chStatusText = {
"", "MQCHS_BINDING", "MQCHS_STARTING", "MQCHS_RUNNING",
"MQCHS_STOPPING", "MQCHS_RETRYING", "MQCHS_STOPPED",
"MQCHS_REQUESTING", "MQCHS_PAUSED",
"", "", "", "", "MQCHS_INITIALIZING"
};
checkStatus = chStatusText[chlStatus];
//System.out.println("channel status: " + checkStatus);
}
System.out.println("chl: " + channelName + " STATUS: " + checkStatus + ")");
Der obige Code gibt den Kanalstatus nur für einen Kanal und nicht für alle Kanäle an. Was ist hier falsch?
Fragen Sie, wie Sie die zurückgegebene Ganzzahl in Running (oder andere Zustände) umwandeln oder fragen Sie, wie Sie andere Informationen aus dem Kanalstatus-Datensatz und dem Status Running abrufen können? –
Grundsätzlich würde ich gerne einen PCF-Befehl schreiben, der den untenstehenden runmqsc-Anweisungen (TO. *) Entspricht, wo (STATUS eq RUNNING) – sijo0703