私はmo01javaサポートパックを使用して、SYSTEM.ADMIN.CHANNEL.EVENTキューからイベントメッセージを読み取ります。
以下はコードへのリンクです:
以下のパラメータを除いて、チャネルイベントキューから消費されたPCFメッセージからすべてのパラメータ名/値を読み取ることができます。
ReasonQualifier 理由コードを修飾するIDを指定します。 識別子 MQIACF_REASON_QUALIFIER。 データ・タイプ MQCFIN。 値 次のいずれか: MQRQ_CHANNEL_STOPPED_OK チャネルは、ゼロの戻りコードまたは警告の戻りコードのいずれかで閉じられました。 MQRQ_CHANNEL_STOPPED_ERROR チャネルは閉じられましたが、エラーが報告され、チャネルは停止または再試行状態ではありません。 MQRQ_CHANNEL_STOPPED_RETRY チャネルが閉じられ、再試行状態になっています。 MQRQ_CHANNEL_STOPPED_DISABLED チャネルが閉じられ、停止状態になっています。 戻ってきた いつも。
以下はコードの一部です、
マップreasonCodes=new HashMap();
/**MQコマンドの名前と値のマップ。* /
マップコマンド=newHashMap();
/**MQ文字列の名前と値のマップ。* /
マップstringNames=new HashMap();
プライベート文字列getStringName(int stringInt)
{{
return(String)stringNames.get(new Integer(stringInt));
}
/ **
*定数整数をMQコマンド名に変換します。
* @paramstringIntMQ整数。
*@return定数整数で表されるMQコマンド名。
* /
プライベート文字列getCommandName(int stringInt)
{{
return(String)commands.get(new Integer(stringInt));
}
//以下のメソッドは、クラスからintコードの文字列値を取得し、HashMapに格納します
public void setupMaps()
{{
setupReasonNameSub( "com.ibm.mq.pcf.CMQC"、 "MQRC"、reasonCodes);
setupReasonNameSub( "com.ibm.mq.pcf.CMQCFC"、 "MQRC"、reasonCodes);
setupReasonNameSub( "com.ibm.mq.pcf.CMQCFC"、 "MQCMD"、コマンド);
setupReasonNameSub( "com.ibm.mq.pcf.CMQC"、 "MQCA"、stringNames);
setupReasonNameSub( "com.ibm.mq.pcf.CMQCFC"、 "MQCA"、stringNames);
setupReasonNameSub( "com.ibm.mq.pcf.CMQC"、 "MQIA"、stringNames);
setupReasonNameSub( "com.ibm.mq.pcf.CMQC"、 "MQRQ"、reasonCodes);
}
void readPCFMessage(PCFMessage pcfMessage){
列挙型pcfEnum=pcfMessage.getParameters();
stdout =
stdout + "" + getReasonName(pcfMessage.getReason())+ "\ n";
while(pcfEnum.hasMoreElements())
{{
文字列parameterName;
PCFParameter elt =(PCFParameter)pcfEnum.nextElement();
parameterName = getStringName(elt.getParameter());
stdout = stdout + "";
if(elt.getType()== CMQCFC.MQCFT_STRING_LIST)
{{
文字列strings[]=(String [])elt.getValue();
for(int i = 0; i "+ strings [i] +" \ n ";
}
}
そうしないと
stdout = stdout + elt.getValue()。toString();
stdout = stdout + "\ n";
}
System.out.println(stdout);
}
出力:
MQRC_CHANNEL_STOPPED
QMGR1
CHL.TO.CHLA
SYSTEM.CLUSTER.TRANSMIT.QUEUE
172.21.33.123
9
0
0
0
CHL.TO.CHLA
チャネルが停止した場合、問題で停止したのか、通常のOKで停止したのかについての正確な理由を知りたいです。このパラメータは、チャネルが停止した正しい理由を示します。
このパラメータを取得できない理由はありますか?