1.5. 複数のリソースを変更するトランザクションの管理
1 つ のリソースを使用するトランザクションでは、通常、リソースに含まれるトランザクションマネージャーを使用できます。複数 のリソースを使用するトランザクションには、外部トランザクションマネージャーまたはトランザクション処理 (TP) モニターを使用する必要があります。この場合、リソースは XA スイッチを登録してトランザクションマネージャーと統合する必要があります。
単一のリソースシステム上で動作するトランザクションと、複数のリソースシステムで動作するトランザクションのコミットに使用するトランザクションには、重要な違いがあります。
- 1 相コミット: シングルリソースシステム用このプロトコルは、1 つのステップでトランザクションをコミットします。
- 2 相コミット: 複数リソースシステム用このプロトコルは 2 つのステップでトランザクションをコミットします。
トランザクションに複数のリソースを含めると、リソース全部ではなく、一部のトランザクションをコミットすることが原因でシステム障害が発生するリスクが増加します。これにより、システムが一貫性のない状態のままになります。2 相コミットプロトコルは、このリスクを排除するために設計されています。これにより、システムを再起動すると、システムが 常に 一貫した状態で復元できます。