![]() |
![]() |
|
|
| |
トランザクション管理
以下の節では、WebLogic J2EE コネクタ アーキテクチャがサポートしているさまざまなトランザクション レベルと、リソース アダプタの .rar
アーカイブにトランザクション レベルを指定する方法について説明します。
サポートされているトランザクション レベル
ビジネス アプリケーションでは、EIS へのトランザクション アクセスが重要な要件です。J2EE コネクタ アーキテクチャは、トランザクションの概念、つまりデータの一貫性および整合性を維持するために、データに関して一緒にコミットするか、または一切コミットしてはならない各種の処理をサポートしています。
BEA WebLogic Server J2EE コネクタ アーキテクチャ実装では、WebLogic Server の堅牢なトランザクション マネージャ実装を利用し、(「J2EE コネクタ仕様、バージョン 1.0、最終草案 2」で説明されている)以下のトランザクション レベルに対応したリソース アダプタをサポートしています。
ra.xml
ファイルの transaction-support 要素を指定することでトランザクション サポートの種類(リソース アダプタがサポートできるのは 1 種類のみ)を定義します。アプリケーション コンポーネントが EIS 接続リクエストをトランザクションの一部として境界設定する場合、アプリケーション サーバがトランザクション マネージャで XA リソースを有効にする必要があります。アプリケーション コンポーネントがその接続を閉じると、アプリケーション サーバはトランザクション マネージャのリストから XA リソースを削除し、トランザクションが終了した時点で EIS 接続をクリーンアップします。
ra.xml
ファイルの transaction-support 要素を指定することでトランザクション サポートの種類(リソース アダプタがサポートできるのは 1 種類のみ)を定義します。アプリケーション コンポーネントが EIS 接続を要求すると、アプリケーション サーバは現在のトランザクション コンテキストに基づいてローカル トランザクションを開始します。アプリケーション コンポーネントがその接続を閉じると、アプリケーション サーバはローカル トランザクションをコミットし、トランザクションが終了した時点で EIS 接続をクリーンアップします。
注意: ra.xml
の文書型定義の詳細については、以下の Sun Microsystems のドキュメントを参照してください。 http://java.sun.com/dtd/connector_1_0.dtd
サポートされているトランザクション レベルの詳細については、「J2EE コネクタ仕様、バージョン 1.0、最終草案 2」(http://java.sun.com/j2ee/download.html#connectorspec)の「Transaction Management」章を参照してください。
.rar コンフィグレーションでのトランザクション レベルの指定
リソース アダプタは、サポート対象のトランザクションの種類を Sun Microsystems から提供される ra.xml
デプロイメント記述子ファイルで指定します。.rar
でのトランザクション レベルの種類を指定する方法については、
コンフィグレーションの
トランザクション レベル タイプのコンフィグレーションを参照してください。
注意: ra.xml
の文書型定義の詳細については、以下の Sun Microsystems のドキュメントを参照してください。
http://java.sun.com/dtd/connector_1_0.dtd
トランザクション管理規約
多くの場合、トランザクション(ローカル トランザクションと呼ばれます)は 1 つの EIS システムに制限され、EIS リソース マネージャ自体がそうしたトランザクションを管理します。一方、XA トランザクション(またはグローバル トランザクション)は複数のリソース マネージャに及ぶことがあります。このトランザクションでは、通常はアプリケーション サーバに付属する外部トランザクション マネージャがトランザクションを調整する必要があります。トランザクション マネージャは 2 フェーズ コミット プロトコル(2PC)を使用して、複数のリソース マネージャ(EIS)にまたがるトランザクションを管理します。XA トランザクションに 1 つのリソース マネージャだけが関わる場合は、リソース マネージャは 1 フェーズ コミットを使用して最適化します。
J2EE コネクタ アーキテクチャでは、アプリケーション サーバとリソース アダプタ(と基底のリソース マネージャ)との間のトランザクション管理規約を定義します。トランザクション管理規約は、接続管理規約を拡張し、ローカル トランザクションと XA トランザクションの両方のサポートを提供します。トランザクション管理規約は、トランザクションの種類に応じて 2 つの部分から構成されます。
これらの規約により、WebLogic Server などのアプリケーション サーバはトランザクション管理用のインフラストラクチャと実行時環境を提供できます。アプリケーション コンポーネントはこのトランザクション インフラストラクチャを利用して、コンポーネントレベルのトランザクション モデルをサポートします。
EIS 実装は多様なので、トランザクションを柔軟にサポートする必要があります。J2EE コネクタ アーキテクチャでは、トランザクションを管理するために EIS に要求される条件はありません。EIS 内のトランザクションの実装に応じて、リソース アダプタは以下のようにサポートを提供します。
WebLogic Server は、トランザクションの 3 つのレベルすべてをサポートしているので、異なるトランザクション レベルの EIS もサポートします。
![]() |
![]() |
![]() |