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