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