Specificaţia Java EE indică faptul că bean-urile CMT (container-managed transaction) nu trebuie să acceseze obiectul UserTransaction. Dar, WebLogic suportă căutarea UserTransaction.
Această regulă semnalează următorul tip de cod:
Căutare WebLogic UserTransaction
< span class="Code"> < span class= "JavaType" >UserTransaction< /span> xact = ctx.lookup("weblogic.transaction.UserTransaction");
Accesul la UserTransaction nu este permis în bean-ul în care a fost semnalat. Soluţia dumneavoastră depinde de ce încearcă codul să facă cu UserTransaction. Examinaţi utilizarea UserTransaction pentru a determina cum trebuie modificat codul sau dacă referinţa poate fi înlăturată.
Alternativele la UserTransaction includ utilizarea UOWManager. Căutarea pentru acest manager foloseşte de asemenea o căutare JNDI; de exemplu:
UOWManager LookupO altă abordare ar putea fi utilizarea interfeţei SessionSynchronization, care vă oferă acces la metodele afterBegin, beforeCompletion şi afterCompletion. Metoda beforeCompletion vă oferă o oportunitate de revenire la versiunea anterioară a tranzacţiei, în cazul unei erori.