Specyfikacja standardu Java EE wskazuje, że komponenty bean transakcji zarządzanych przez kontener (Container-Managed Transaction – CMT) mogą nie mieć dostępu do obiektu UserTransaction. Jednak serwer WebLogic obsługuje wyszukiwanie obiektu UserTransaction.
Ta reguła oznacza kod następującego typu:
Wyszukiwanie obiektu UserTransaction produktu WebLogic
< span class="Code"> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("weblogic.transaction.UserTransaction");
Dostęp do obiektu UserTransaction jest niedozwolony w komponencie bean, w którym jest on oznaczany. Rozwiązanie zależy od tego, jakie działania próbuje wykonać kod w odniesieniu do obiektu UserTransaction. Należy sprawdzić użycia obiektu UserTransaction, aby określić, jak należy zmienić kod lub czy można usunąć odwołanie.
Jedną z alternatyw dla używania obiektu UserTransaction jest używanie interfejsu UOWManager. Działanie wyszukiwania tego menedżera obejmuje także wyszukiwanie JNDI, na przykład:
Wyszukiwanie interfejsu UOWManagerInne możliwe podejście to użycie interfejsu SessionSynchronization, który udostępnia metody afterBegin, beforeCompletion i afterCompletion. Metoda beforeCompletion umożliwia przywrócenie poprzedniej wersji transakcji w razie wystąpienia błędu.