11.8.1 UAP障害
UAP障害が発生してスレッドダウンした場合,DBキュー機能は次のように処理します。
- メッセージ書き込み要求の処理
-
コミット前にスレッドダウンした場合は,UAPから書き込み要求のあったメッセージを破棄し,ロールバックします。そのため,コミット前のUAPから書き込み要求のあったメッセージは,DBに書き込みません。
- メッセージ読み出し要求の処理(AP間通信)
-
読み出し時またはAP起動時にスレッドダウンした場合は,スレッド回復時にロールバックします。
サービス関数の処理中にスレッドダウンした場合は,読み出し先のDBキューをスケジュール停止状態にして,以降は受信トランザクションを起動しません。DBキューのスケジュール停止状態は,ee_dbq_acsctl関数の呼び出しまたはeedbqrstコマンドの実行で解除します。
連鎖モードのロールバックを要求する関数を発行し,スレッドの強制終了を指定した場合は,読み出し先のDBキューをスケジュール停止状態にしません。このため,別トランザクションのサービス関数で,再度DBキューから同一メッセージを読み出せます。
また,自動読み出し停止機能を使用して自動で読み出しを停止するかどうかを選択できます。
- メッセージ読み出し要求の処理(ユーザキューアクセス)
-
読み出し時またはAP起動時にスレッドダウンした場合は,スレッド回復時にロールバックします。
連鎖モードのロールバックを要求する関数を発行し,スレッドの強制終了を指定した場合は,読み出し先のDBキューをスケジュール停止状態にしません。このため,別トランザクションのサービス関数で,再度DBキューから同一メッセージを読み出せます。