3.10.2 メッセージ廃棄通知イベント(ERREVT2)
ERREVT2は,次に示すことが原因で,受信したメッセージを廃棄した場合に通知されます。また,アプリケーション属性定義mcfaalcapの-nオプションにerrevt=yes(通信イベント障害時にエラーイベント通知する)を指定している通信イベントが,次に示す原因で障害が発生した場合にも,ERREVT2が通知されます。
-
入力キューに障害が発生した
-
入力メッセージ最大格納数を超過した
-
動的共用メモリが不足した
-
キューファイルが満杯になった
-
サービス,サービスグループ,またはアプリケーションが閉塞している
-
スケジュール閉塞されているサービスグループの入力キューに未処理受信メッセージが残った状態で,OpenTP1を正常終了または計画停止Aで終了した
-
サービスグループ,またはアプリケーションがセキュア状態である
-
MHPで呼び出すdc_mcf_receive関数にセグメントを渡す前に,MHPが異常終了した
-
アプリケーション名に相当する,MHPのサービスがない
-
ユーザサーバ未起動などによって,MHPの起動に失敗した
-
DBMSの障害などによって,トランザクションの開始に失敗した
ERREVT2のMCFイベント処理用MHPでは,ERREVT2の内容を参照して,自ノードで処理できなかったことを伝えるメッセージを送信するなどの対処をしてください。その際は,論理端末やUAPの型に従って,応答メッセージ,または一方送信メッセージをMCFイベント処理用MHPから送信してください。
ERREVT2の概要を次の図に示します。
|
-
受信したメッセージが,何らかの理由で入力キューから廃棄されました。
-
制御がMCFに戻り,ERREVT2が通知されて,ERREVT2のMCFイベント処理用MHPがスケジュールされます。
-
MCFイベント処理用MHPからメッセージを送ってきた他システムに,メッセージの再送要求などを伝える一方送信メッセージを送信します。