8.8.6. 調整
トランザクションマネージャは、システム管理者に未確定のトランザクションについて独自の方法で通知します。この段階では、システム管理者がトランザクションの XID(バイトアレイ)を把握していることを前提としています。
通常のリカバリーフローは以下のとおりです。
- STEP 1: システム管理者は JMX 経由で Red Hat Data Grid サーバーに接続し、インダウト状態のトランザクションを一覧表示します。以下の図は、JConsole がインダウト状態のトランザクションがある Red Hat Data Grid ノードに接続する方法を示しています。
図8.1 未確定のトランザクションの表示
未確定の各トランザクションのステータスが表示されます(この例では PREPARED です)。status フィールドに複数の要素が存在する可能性があります。たとえば、トランザクションが特定ノードでコミットされていても、それらのノードでコミットされない場合は「PREPARED」および「COMMITTED」です。
- STEP 2: システム管理者は、トランザクションマネージャーから受け取った XID を、数字で表される Red Hat Data Grid 内部 ID に視覚的にマップします。この手順は、XID(バイト配列)が JMX ツール(JConsole など)に渡らず、Red Hat Data Grid 側で再度構築できないため、必要です。
- ステップ 3: システム管理者は、内部 ID に基づいて、対応する jmx 操作を介してトランザクションのコミット/ロールバックを強制的に実行します。以下のイメージは、内部 ID に基づいてトランザクションのコミットを強制することで取得します。
図8.2 コミットの強制
上記のすべての JMX 操作は、トランザクションの発信場所に関係なく、任意のノードで実行できます。
8.8.6.1. XID に基づくコミット/ロールバックの強制 リンクのコピーリンクがクリップボードにコピーされました!
未確定のトランザクションのコミット/ロールバックの強制を行う XID ベースの JMX 操作も使用できます。これらのメソッドはトランザクションに関連する番号ではなく、XID を記述する byte[] アレイを受け取ります(前述のステップ 2 で説明)。これらは、たとえば、特定の未確定トランザクションの自動完了ジョブを設定する場合に役立ちます。このプロセスはトランザクションマネージャーのリカバリーにプラグインされ、トランザクションマネージャーの XID オブジェクトにアクセスできます。