XAの実装では、トランザクション・マネージャは、2フェーズ・コミットのプロトコルを使用して、分散されたグローバル・トランザクションのブランチをコミットします。次に、コミットの2つのフェーズを示します。
例外については、次の最適化に関する項を参照してください。
注意: | トランザクション・マネージャでは、すべてのブランチが正常にコミットされた場合にのみ、グローバル・トランザクションがコミットされたと認識されます。 |
トランザクション・マネージャは、グローバル・トランザクションに1つのブランチのみが含まれるように指定した場合、第1フェーズをスキップして、第2フェーズでトランザクションをコミットします。
グローバル・トランザクション・ブランチが読取り専用の場合、トランザクション・マネージャは第1フェーズでブランチをコミットし、そのブランチの第2フェーズをスキップします。読取り専用のトランザクションでは、ログ・レコードは生成されません。