チャネルが停止または再試行状態のときに、キューマネージャからキューSYSTEM.CHANNEL.EVENT.QUEUEに送信されるイベントメッセージを介してチャネルタイプ(送信者または受信者)を識別する方法は?
私はクラスPCFMessageを使用してそれを読んでいます。
イベントメッセージにはチャネル名が含まれていますが、タイプは含まれていません。(詳細については、インフォセンターのチャネルおよびブリッジイベントのトピックを参照してください。)
これに対する私のアプローチは、監視プログラムの起動時にPCFメッセージを発行して、すべてのチャネル名とそのタイプを表示し、この情報をテーブルに格納することです。(PCFは。に相当しDIS CHL(*) CHLTYPE
ます。)次に、チャネルイベントが到着したら、チャネル名をテーブルエントリと照合して、チャネルタイプを取得します。CONNAME
もちろん、、などの静的チャネル属性をいくつでもキャッシュすることは可能MCAUSER
であり、PCFコマンドで必要な数だけ要求することができます。
テーブルにないチャネルのイベントが表示された場合は、いつでも新しいPCFコマンドを発行して、その場で新しいチャネルを検索し、プログラムの開始時に作成したキャッシュに属性を追加できます。うまくいけば、QMgrは、これが問題になるほど頻繁に新しいチャネルを定義するほど不安定ではありません。ただし、その場合は、構成イベントを有効にすると、新しいチャネルが定義されたときに通知が届きます。