ナビゲーションをスキップ

WebLogic リソース アダプタ プログラマーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

トランザクション管理

以下の節では、WebLogic Server からエンタープライズ情報システム (EIS) への発信通信に使用されるシステムレベルのトランザクション管理規約について説明します。

トランザクション管理の詳細については、J2CA 1.5 仕様の第 7 章「Transaction Management」を参照してください。EIS から WebLogic Server への着信通信におけるトランザクション管理の詳細については、「トランザクション インフロー」を参照してください。

 


サポートされているトランザクション レベル

トランザクションとは、データの一貫性と整合性を維持するために、すべてのデータに関して必ず一斉にコミットするか、またはまったくコミットしないかのどちらかを行う一連の処理のことです。EIS へのトランザクション アクセスは、ビジネス アプリケーションにとって重要な要件です。J2EE 1.5 コネクタ アーキテクチャでは、トランザクションの使用をサポートしています。

WebLogic Server では、WebLogic Server のトランザクション マネージャ実装を利用して、XA やローカルのトランザクションに対応するリソース アダプタ、またはトランザクションなしのリソース アダプタをサポートしています。ra.xml ファイルの transaction-support 要素でトランザクション サポートの種類を定義します。リソース アダプタでサポートできるのは 1 種類のみです。weblogic-ra.xml デプロイメント記述子の transaction-support 要素を使用すると、ra.xml で指定された値をオーバーライドできます。詳細については、「トランザクション レベルのコンフィグレーション」および「transaction-support」を参照してください。

XA トランザクションのサポート

XA トランザクションのサポートを使用すると、リソース アダプタの外部 (したがって EIS の外部) のトランザクション マネージャによってトランザクションを管理できるようになります。アプリケーション コンポーネントが EIS 接続リクエストをトランザクションの一部として境界設定する場合、アプリケーション サーバは XA リソースをトランザクション マネージャに登録します。アプリケーション コンポーネントがその接続を閉じると、アプリケーション サーバは、トランザクションが完了した時点で EIS 接続をクリーンアップします。

ローカル トランザクションのサポート

ローカル トランザクションのサポートを使用すると、WebLogic Server はリソース アダプタのローカルにあるリソースを管理できます。XA トランザクションとは異なり、通常、ローカル トランザクションは 2 フェーズ コミット プロトコル (2PC) には関与できません。ローカル トランザクションのリソース アダプタが 2PC トランザクションに関与できるのは、トランザクションに関わるのがローカル トランザクション リソースだけで、WebLogic Server コネクタ コンテナがラスト リソース コミットによる最適化を利用している場合のみです。その場合、トランザクションの結果はリソース アダプタのローカル トランザクションによって制御されます。

通常、ローカル トランザクションは、そのリソース アダプタに固有の API または CCI インタフェース (そのアダプタがサポートしている場合) を使用して開始されます。ローカル トランザクションのサポートを使用するようにコンフィグレーションされたリソース アダプタ接続を作成し、XA トランザクションのコンテキスト内で使用する場合、WebLogic Server は、この接続用のローカル トランザクションを自動的に開始します。XA トランザクションが終了し、コミットの準備が整うと、XA トランザクションの一部の XA リソースに対して prepare がまず呼び出されます。次に、ローカル トランザクションがコミットされます。

ローカル トランザクションでコミットが失敗した場合、XA トランザクションとすべての XA リソースはロールバックされます。コミットが成功した場合、XA トランザクションのすべての XA リソースはコミットされます。アプリケーション コンポーネントがその接続を閉じると、WebLogic Server は、トランザクションが終了した時点で接続をクリーンアップします。

トランザクション サポートなし

トランザクションのサポートを使用しないようにリソース アダプタがコンフィグレーションされている場合でも、そのリソース アダプタをトランザクションのコンテキストで使用することができます。ただし、その場合、そのリソース アダプタで使用する接続はトランザクションに関与しないので、トランザクションがないかのように動作します。つまり、これらの接続を使用して実行される操作は、基底の EIS に対して直ちに行われるので、トランザクションがロールバックされた場合、これらの接続による変更は元に戻りません。

 


トランザクション レベルのコンフィグレーション

リソース アダプタのトランザクション サポート レベルは、J2EE 標準のリソース アダプタ デプロイメント記述子 ra.xml で指定します。トランザクション サポート レベルを指定するには、次の手順に従います。

ra.xml デプロイメント記述子で指定されたトランザクション サポートの値は、リソース アダプタのすべての接続ファクトリのデフォルト値になります。weblogic-ra.xml デプロイメント記述子の transaction-support 要素で値を指定すると、特定の接続ファクトリについてこの値をオーバーライドできます。

transaction-support の値は以下のいずれかです。

ra.xml デプロイメント記述子でのトランザクション レベルの指定の詳細については、J2CA 1.5 仕様のセクション 17.6 「Resource Adapter XML Schema Definition」を参照してください。weblogic-ra.xml デプロイメント記述子でのトランザクション レベルの指定の詳細については、「weblogic-ra.xml スキーマ」を参照してください。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次