BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

WebLogic JTA プログラマーズ ガイド

 Previous Next Contents Index PDF で侮ヲ  

トランザクション サービス

この章では、WebLogic Server システム向けのトランザクション対応アプリケーションを記述するために必要な情報を提供します。

この章では次の内容について説明します。

 


トランザクション サービスについて

WebLogic Server は、EJB アプリケーションと RMI アプリケーションのトランザクションをサポートするトランザクション サービスを備えています。WebLogic Server EJB コンテナでは、そのトランザクション サービスによって、Sun Microsystems 発行の EJB 仕様 2.0 で説明されているトランザクション サービスの実装が提供されます。

EJB と RMI のアプリケーションについて、WebLogic Server では Java アプリケーションの Java Transaction API (JTA) を実装する Sun Microsystems の javax.transaction パッケージおよび javax.transaction.xa パッケージも提供されます。JTA の詳細については、Sun Microsystems 発行 の Java Transaction API (JTA) 仕様 1.0.1a を参照してください。トランザクションの境界を設定するためにアプリケーションで使用される UserTransaction オブジェクトの詳細については、WebLogic Server Javadoc を参照してください。

 


機能と制限

この章の内容は以下のとおりです。

以降の節では、EJB と RMI のアプリケーションをサポートするトランザクション サービスの機能と制限について説明します。

軽量クライアントと委託コミット

軽量クライアントは、可用性が一定ではなく、管理のされていない、1 ユーザ対象のデスクトップ システムで動作します。デスクトップ システムは、使用されないときは所有者によって電源が落とされます。そのような管理のされていない、1 ユーザ対象のデスクトップ システムでは、トランザクションの調整などのネットワーク機能を行うべきではありません。特に、管理のされていないシステムはサーバ リソースが関わるトランザクションにおいて、障害の影響を受けず原子性、一貫性、隔離性、および持続性という ACID プロパティを維持することに責任を持つべきではありません。WebLogic Server のリモート クライアントは軽量クライアントです。

トランザクション サービスを利用すると、軽量クライアントでは委託コミットを実行できます。つまり、軽量クライアントでは、トランザクションの調整をサーバ マシン上のトランザクション マネージャにまかせてトランザクションを開始および終了することができるのです。クライアント アプリケーションは、ローカルのトランザクション サーバを必要としません。EJB クライアントまたは RMI クライアントで使用される UserTransaction のリモート実装によって、トランザクション調整の実際の作業がサーバ上のトランザクション マネージャに委託されます。

クライアントが開始するトランザクション

アプレットなどのクライアントでは、JNDI を使用して UserTransaction オブジェクトおよび TransactionManager オブジェクトの参照を取得できます。クライアントでは、いずれかのオブジェクト参照を使用してトランザクションを開始できます。現在のスレッドの Transaction オブジェクトを取得するには、クライアント プログラムは ((TransactionManager)tm).getTransaction() メソッドを呼び出さなければなりません。

トランザクションの整合性

トランザクションの動作を管理すると、そのトランザクションに関わるすべてのトランザクション オブジェクトでトランザクション要求の処理が完了しない限り commit が成功しないのでトランザクションの整合性が保証されます。トランザクション サービスでは、Open Group によって定義されている要求と応答のプロセス間通信モデルで提供されるものと同等のトランザクション動作の管理が提供されます。

トランザクションの終了

WebLogic Server では、トランザクションはそのトランザクションを生成したクライアントによってのみ終了することができます。

注意: クライアントは、別のオブジェクトのサービスを要求したサーバ オブジェクトの場合もあります。

フラット トランザクション

WebLogic Server では、フラット トランザクション モデルが実装されています。ネスト トランザクションはサポートされていません。

トランザクション サービスのトランザクション処理との関係

トランザクション サービスは、さまざまなトランザクション処理のサーバ、インタフェース、プロトコル、および規格と以下のように関連しています。

マルチスレッド トランザクション クライアントのサポート

WebLogic Server では、マルチスレッド トランザクション クライアントがサポートされています。クライアントでは、複数のスレッドで同時にトランザクション要求を行うことができます。

制約

トランザクション サービスには以下の制約があります。

 


トランザクションのスコープ

トランザクションのスコープは、そのトランザクションが実行される環境を表します。WebLogic Server では、スタンドアロン サーバでのトランザクション、クラスタ化されていないサーバ間でのトランザクション、ドメイン内のクラスタ化されたサーバ間でのトランザクション、およびドメイン間のトランザクションがサポートされています。ドメイン間のトランザクションがサポートされるようにするためには、関連するすべてのドメインに共通の資格をコンフィグレーションする必要があります。『WebLogic Server 管理者ガイド』の「ドメイン間トランザクションに対するドメインのコンフィグレーション」を参照してください。

 


EJB アプリケーションでのトランザクション サービス

WebLogic Server EJB コンテナでは、WebLogic Server EJB アプリケーションでの以下の 2 種類のトランザクションをサポートするトランザクション サービスが提供されます。

EJB アプリケーションでのトランザクション管理の概要については、トランザクションについてのWebLogic Server EJB アプリケーションのトランザクション,およびトランザクションのサンプル EJB コードを参照してください。

 


RMI アプリケーションでのトランザクション サービス

WebLogic Server は、WebLogic Server RMI アプリケーションのトランザクションをサポートするトランザクション サービスを備えています。RMI アプリケーションでは、クライアント アプリケーションまたはサーバ アプリケーションが UserTransaction オブジェクトに対する明示的なメソッド呼び出しを行って、トランザクションの開始、コミット、およびロールバックが行われます。

UserTransaction のメソッドの詳細については、オンラインの Javadoc を参照してください。RMI アプリケーションでのトランザクション管理の概要については、トランザクションについてのWebLogic Server RMI アプリケーションのトランザクション,およびトランザクションのサンプル RMI コードを参照してください。

 

Back to Top Previous Next