La especificación Java EE indica que los beans de transacción gestionada por contenedor (CMT) no pueden acceder al objeto UserTransaction. No obstante, WebLogic da soporte a la búsqueda de UserTransaction.
Esta regla etiqueta el siguiente tipo de código:
Búsqueda de UserTransaction de WebLogic
< span class="Code"> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("weblogic.transaction.UserTransaction");
El acceso a UserTransaction no está permitido en el bean donde se está etiquetando. La solución depende de qué intente hacer el código con UserTransaction. Examine el uso de UserTransaction para determinar cómo debe modificarse el código o si la referencia puede eliminarse.
Una alternativa a UserTransaction es utilizar UOWManager. La búsqueda de este gestor también utiliza una búsqueda JNDI; por ejemplo:
Búsqueda de UOWManagerOtro enfoque sería utilizar la interfaz SessionSynchronization, que da acceso a los métodos afterBegin, beforeCompletion y afterCompletion. El método beforeCompletion permite revertir a la versión anterior de la transacción, en el caso de que se produzca un error.