私は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で停止したのかについての正確な理由を知りたいです。このパラメータは、チャネルが停止した正しい理由を示します。
このパラメータを取得できない理由はありますか?