Java EE 仕様は、コンテナー管理トランザクション (CMT) Bean が UserTransaction オブジェクトにアクセスしない可能性があることを示しています。ただし、WebLogic は UserTransaction ルックアップをサポートします。
この規則により、以下のタイプのコードにフラグを立てます。
WebLogic UserTransaction ルックアップ
< span class="Code"> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("weblogic.transaction.UserTransaction");
フラグが立てられている UserTransaction へのアクセスは、Bean では許可されていません。 解決方法は、UserTransaction を使用してコードが試行している処理によって異なります。 UserTransaction の使用について調べ、コードを変更する方法や、参照を削除できるかどうかを判別してください。
UserTransaction の代わりに例えば UOWManager を使用することもできます。 このマネージャーのルックアップでも、次のように JNDI ルックアップを使用します。例えば、次のとおりです。
UOWManager ルックアップ別の方法として、SessionSynchronization インターフェースの使用があります。このインターフェースを使用して、afterBegin、beforeCompletion、および afterCompletion メソッドにアクセスすることができます。 メソッド beforeCompletion を使用すると、エラー発生時にトランザクションの前のバージョンに戻ることができます。