系切り替えが発生したタイミングによっては,仕掛かり中のリソースの状態が,二つの待機系の間で異なることがあります。この場合,XTCでは,リソースの状態を一致させてから,系切り替え後の実行系で業務処理を開始します。これら一連の処理(リソースの状態を一致させる一連の処理)をキューログ回復処理といいます。
系切り替えが発生したときのキューログ回復処理を次の図に示します。
図7-15 系切り替えが発生したときのキューログ回復処理
![[図データ]](figure/zu080110.gif)
- 説明
- HAモニタからの障害連絡を待機系の系監視スレッドが受け付けると,系の状態が待機系から実行系に変わります。
- リソースの状態を一致させる前に,リソースの状態の更新を中断します。また,外部からのメッセージの受信を抑止したあと,実行中のすべての処理が終了するのを待ち合わせます。この処理をサーバの静止化といいます。
サーバの静止化中は受信メッセージを破棄しますが,メッセージ送信元が静止化を解除するまで送信リトライするため,静止化を解除したあとにメッセージを受け取ることができます。
- リソース回復トランザクションを登録します。このトランザクションによって,待機系(図中の待機系2)とリソースの状態を一致させます。このリソースの状態を合わせる処理をネゴシエーションといいます。
なお,待機系がない場合は,この処理は行われません。
- リソース回復トランザクションの終了後,系監視スレッドは実行系連絡トランザクション(UI)を実行し,サーバの静止化を解除します。
- すべての系切り替え処理が終了したあとにメッセージの受信抑止を解除します。