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

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

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

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

以下の節では、トランザクション関連のコンフィグレーション タスクについて説明します。

 


トランザクション コンフィグレーションの概要

Administration Console は、WebLogic JTA などの WebLogic Server の機能をコンフィグレーションするために使用するインタフェースを備えています。コンフィグレーション プロセスでは、属性の値を指定する必要があります。それらの属性によって、以下のようなトランザクション環境が定義されます。

また、EJB、JDBC データ ソース、JMS など、トランザクションに参加可能な J2EE コンポーネントの管理についてもよく理解しておく必要があります。

注意 : WebLogic Server Scripting Tool (WLST。『WebLogic Scripting Tool ガイド』を参照) または JMX (『JMX によるカスタム管理ユーティリティの開発』を参照) で、トランザクション関連の設定をコンフィグレーションすることもできます。

 


JTA のコンフィグレーション

WebLogic JTA および任意のトランザクション参加コンポーネントをコンフィグレーションすると、システムは JTA API および WebLogic JTA 拡張機能を使用してトランザクションを管理できます。以下の点に注意してください。

リソース登録解除の猶予期間

アプリケーションと一緒にパッケージ化された JDBC データ ソース モジュールなど、必要に応じてアンデプロイしたり再デプロイしたりすることのあるリソースについては、ドメインに対して [リソース登録解除の猶予期間] を設定することで、リソースが登録解除されていたためにトランザクションが破棄される可能性を最小限にできます。猶予期間とは、リソースが登録解除される前に、トランザクション マネージャがトランザクションの完了を待機する秒数です。

指定された猶予期間の間、unregisterResource 呼び出しは自身が返るまでブロックを行い、関連するリソースに対して新しいトランザクションは開始されません。リソースに対して未処理のトランザクションの数が 0 になると、unregisterResource 呼び出しは即座に返ります。

猶予期間の終わりに、まだリソースに関連する未処理のトランザクションがある場合は、unregisterResource が返り、リソースが以前登録されていたサーバ上にログ メッセージが書き込まれます。

トランザクションを管理するための追加属性

デフォルトでは、グローバル トランザクションに参加している XA リソースが WebLogic Server トランザクション マネージャからの XA 呼び出しに応答しないと、そのリソースに異常があって使用できないことを示すフラグが付加されます。また、リソースのスレッドを保持するため、このリソースに対する以降のすべての呼び出しがブロックされます。障害は、トランザクションに異常がある場合でも、リソースに異常がある場合でも発生する可能性があります。これら 2 つの原因の間に区別はありません。どちらの場合も、リソースに異常があるものとしてマークされます。

この制約を緩和するため、WebLogic Server には表 3-1 に示すコンフィグレーション属性が用意されています。

表 3-1 XA リソースのヘルス モニタ コンフィグレーション属性

属性

MBean

定義

ResourceHealthMonitoring

weblogic.managment.configuration.JDBCXAParamsBean

JDBCXAParamsBean MBean の ResourcehealthMonitoring 属性

JDBC データ ソースのリソースのヘルス モニタを有効または無効にする。この属性は、データベース接続に XA JDBC ドライバを使用するデータ ソースにのみ適用される。非 XA JDBC ドライバを使用している場合は無視される。

true に設定すると、リソースのヘルス モニタが有効になる。MaxXACallMillis 属性に指定した期間内に XA リソースが XA 呼び出しへの応答に失敗すると、データ ソースに異常があるものとしてマークされ、リソースに対する以降の呼び出しがすべてブロックされる。

false に設定すると、この機能が無効になる。

デフォルト : true

JDBC データ ソースの [リソース ヘルス モニタ] 属性は、Administration Console の [JDBC データ ソース : コンフィグレーション : 接続プール] タブで設定できる。

MaxXACallMillis

weblogic.management.configuration.JTAMBean

XA リソースに対する XA 呼び出しの最長許容期間をミリ秒で設定する。この設定は、ドメイン全体に適用される。

デフォルト : 120000

MaxResourceUnavailableMillis

weblogic.management.configuration.JTAMBean

XA リソースが異常とマークされる最長期間 (ミリ秒)。この期間を過ぎると、トランザクション マネージャで XA リソースを明示的に再登録しなくても、リソースが再び使用可能と宣言される。この設定は、ドメイン全体に適用される。

デフォルト : 1800000

MaxResourceRequestOnServer

weblogic.management.configuration.JTAMBean

ドメイン内の各サーバで許容するリソースへの同時要求の最大数。

デフォルト : 50

最小値 : 10

最大値 : java.lang.Integer.MAX_VALUE


 

JDBC データ ソースの [リソース ヘルス モニタ] を除き、これらの属性は、ドメインが非アクティブの時に config.xml ファイルで直接設定します。Administration Console では設定できません。次の例は、これらの属性に関する部分をコンフィグレーション ファイルから抜粋したものです。

...
   <JTA
MaxUniqueNameStatistics="5"
TimeoutSeconds="300"
RecoveryThresholdMillis="150000"
MaxResourceUnavailableMillis="900000"
MaxResourceRequestOnServer="60"
MaxXACallMillis="180000"
/>

 


ドメイン間トランザクションに対するドメインのコンフィグレーション

トランザクション マネージャで分散トランザクションを管理する場合、トランザクションを準備し、その後コミットまたはロールバックするために、トランザクション マネージャはすべての参加リソースと通信できる必要があります。これは、WebLogic ドメインが、分散トランザクションにおいて、トランザクション マネージャまたはトランザクション参加コンポーネント (リソース) として機能する場合に当てはまります。以下の節では、ドメイン間トランザクションが可能なようにドメインをコンフィグレーションする方法を説明します。WebLogic ドメイン間の相互運用性の詳細については、『WebLogic Server のセキュリティ』の「WebLogic Server ドメイン間の信頼関係の有効化」を参照してください。

以下の節では、ドメイン間トランザクション用にドメインをコンフィグレーションする方法について説明します。

ドメイン間トランザクションの制限事項

ドメイン間トランザクションには以下の制限事項があります。

WebLogic Server 9.x、8.x および 7.x ドメインのドメイン間トランザクション

複数の WebLogic Server 9.x、8.x および 7.x ドメインにまたがる (つまり、すべての参加ドメインが WebLogic Server 9.x、8.x、または 7.x、あるいはこれらのバージョンの組み合わせで実行される) トランザクションを管理する、またはそのようなトランザクションに参加するには、すべてのドメインのセキュリティ資格を同じ値に設定し、[セキュリティの相互運用モード] を [互換性] に設定する必要があります。各参加ドメインについて、「ドメイン間トランザクションの有効化」に記載の手順を実行してください。

WebLogic Server 7.x/8.x/9.x および WebLogic Server 6.x ドメイン間のトランザクション

WebLogic Server 7.x、8.x、または 9.x と、WebLogic Server 6.x のドメインのサーバを使用するトランザクションを管理するには、次の手順に従ってください。

 


トランザクション ログ ファイル

各サーバでは、そのサーバで調整されてコミットされたが、未完了の可能性があるトランザクションの情報を格納するトランザクション ログを備えています。WebLogic Server では、システムのクラッシュやネットワーク障害からの回復時にトランザクション ログを使用します。トランザクション ログを直接見ることはできません。レコードはバイナリ形式で、サーバのデフォルト永続ストアに格納されます。

クラスタ内のサーバに対するトランザクション回復サービスの移行機能を利用するには、トランザクション ログをサーバとそのバックアップ サーバが使用できる場所 (デュアルポート SCSI ディスクまたは SAN (Storage Area Network) を推奨) に格納する必要があります。詳細については、「デフォルト永続ストアへのパスの設定」を参照してください。

デフォルトのストアがトランザクション ログ レコードの保存先とするファイル システムで領域が不足したり、アクセス不能になったりすると、commit() が SystemException を送出し、トランザクション マネージャによってシステム エラー ログにメッセージが書き込まれます。使用できる領域が増えるまで、トランザクションはコミットされません。

デフォルト永続ストアへのパスの設定

管理サーバを含む、各サーバ インスタンスには、デフォルトの永続ストアがあります。これは、特定のストアを明示的に選択する必要がなく、システムのデフォルトのストレージ メカニズムを使用することで最適に動作するサブシステムから使用することができる、ファイルベースのストアです。トランザクション マネージャは、デフォルト永続ストアを使用して、トランザクション ログ レコードを格納します。多くの場合、デフォルトの永続ストアは、コンフィグレーションを必要としません。ただし、トランザクション回復サービスの移行を有効化するには、オリジナルのサーバで障害が発生した場合に、クラスタ内の別のサーバで使用できる、永続ストレージ ソリューションに、データ ファイルを格納するよう、デフォルトの永続ストアをコンフィグレーションする必要があります。

手順については、Administration Console オンライン ヘルプの「トランザクション回復サービスの移行のためのデフォルト永続ストアのコンフィグレーション」を参照してください。

デフォルト永続ストアの同期書き込みポリシーの設定

WebLogic Server は、デフォルト永続ストアを使用して、トランザクション ログ レコードを格納します。デフォルト ストアの書き込みポリシーを選択することで、WebLogic Server がレコードをディスクに書き込む方式を変更できます。以下のいずれかのオプションを選択できます。

Windows では [Direct-Write] トランザクション ログ ファイル書き込みポリシーが指定されていても、トランザクション データがディスクに直接書き込まれずにオンディスク キャッシュに残される場合があります。この場合、停電などによってオンディスク キャッシュのデータが失われるおそれがあり、トランザクションとしては安全とはいえません。Windows で [Direct-Write] トランザクション ログ ファイル書き込みポリシーを使用している場合にキャッシュ データの消失を回避するには、ディスクの書き込みキャッシュをすべて無効にするか (デフォルトでは有効)、またはシステムのバッテリー バックアップを使用してください。

手順については、Administration Console オンライン ヘルプの「トランザクション回復サービスの移行のためのデフォルト永続ストアのコンフィグレーション」を参照してください。

 

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