Oracle® Fusion Middleware Oracle WebLogic Server JTAのプログラミング 11gリリース1 (10.3.6) B61631-08 |
|
![]() 前 |
![]() 次 |
この章では、Oracle WebLogic Server環境で動作するRMIアプリケーションで、トランザクションを使用するためのガイドラインを説明し、追加のリファレンスを示します。
開始する前に、第2章「トランザクションについて」(特に次のトピック)を読んでください。
RMIアプリケーションの詳細は、『Oracle WebLogic Serverスタンドアロン・クライアントのプログラミング』を参照してください。
以下のガイドラインは、WebLogic Server向けのRMIアプリケーションでトランザクションを実装するときに適用されます。
WebLogic Serverでは、フラット・トランザクションのみがサポートされています。トランザクションをネストすることはできません。
標準的なプログラミング手法を使用してトランザクション処理を最適化します。たとえば、トランザクションの境界を適切に設定すると、トランザクションの処理が速くなります。
RMIアプリケーションでは、トランザクションでコールバック・オブジェクトを使用することが推奨されていません(WebLogic Serverで管理できないため)。
デフォルトでは、リモート・オブジェクトにおけるすべてのメソッド呼出しはトランザクション処理です。コールバック・オブジェクトが必要な場合は、WebLogic RMIコンパイラで -nontransactionalフラグを使って、これらのクラスをコンパイルする必要があります。『Oracle WebLogic Server RMIのプログラミング』のWebLogic RMIコンパイラの使い方に関する項およびWebLogic RMIコンパイラのオプションに関する項を参照してください。
RMIアプリケーションでは、RMIクライアントがトランザクションを開始できますが、すべてのトランザクション処理はWebLogic Serverをホストとするサーバー・オブジェクトまたはリモート・オブジェクト上で行われる必要があります。クライアントJVM上でホストされるリモート・オブジェクトは、トランザクション処理に参加できません。
回避策としては、クライアントJVM上のリモート・オブジェクトを呼び出す前にトランザクションをサスペンドし、リモート処理が終了した後でトランザクションを再開します。
WebLogic Serverトランザクション・サービスのガイドラインについては、「機能と制限」を参照してください。