Oracle® Fusion Middleware Oracle WebLogic Server JTA プログラマーズ ガイド 11g リリース 1 (10.3.1) B55540-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 トランザクション サービスのガイドラインについては、「機能と制限」を参照してください。