BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > WebLogic J2EE コネクタ アーキテクチャ > トランザクション管理 |
WebLogic J2EE コネクタ アーキテクチャ
|
以下の節では、WebLogic J2EE コネクタ アーキテクチャがサポートしているさまざまなトランザクション レベルと、リソース アダプタの RAR アーカイブにトランザクション レベルを指定する方法について説明します。
ビジネス アプリケーションでは、EIS へのトランザクション アクセスが重要な要件です。J2EE コネクタ アーキテクチャは、トランザクションの概念、つまりデータの一貫性および整合性を維持するために、データに関して一緒にコミットするか、または一切コミットしてはならない各種の処理をサポートしています。
BEA WebLogic Server J2EE コネクタ アーキテクチャ実装では、WebLogic Server の堅牢なトランザクション マネージャ実装を利用し、(「J2EE コネクタ仕様、バージョン 1.0、最終リリース」で説明されている) 以下のトランザクション レベルに対応したリソース アダプタをサポートしています。
注意: ra.xml の文書型定義の詳細については、以下の Sun Microsystems のドキュメントを参照してください。
http://java.sun.com/dtd/connector_1_0.dtd
サポートされているトランザクション レベルの詳細については、「J2EE コネクタ仕様、バージョン 1.0、最終リリース」(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 もサポートします。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |