Nepoužívat rozhraní UserTransaction z objektů typu bean CMT

Specifikace Java EE označuje, že objekty typu bean CMT nemusí přistupovat k objektu UserTransaction. Server WebLogic však podporuje vyhledání UserTransaction.

Toto pravidlo označí následující typ kódu:

Vyhledání UserTransaction serveru WebLogic
UserTransaction xact = ctx.lookup("javax.transaction.UserTransaction");

nebo

UserTransaction xact = ctx.lookup("weblogic.transaction.UserTransaction");

Přístup k UserTransaction není v objektu bean, kde je označen, povolen. Vaše řešení závisí na tom, co se kód pokouší provést s UserTransaction. Zkontrolujte použití UserTransaction, abyste určili, jak se kód musí změnit, nebo zda lze odkaz odebrat.

Alternativy k UserTransaction zahrnují použití UOWManager. Vyhledávání pro tohoto správce také používá vyhledání v rozhraní JNDI, například:

UOWManager Lookup

UOWManager uowMgr = ctx.lookup("java:comp/websphere/UOWManager");

Jiný přístup může být pro použití rozhraní SessionSynchronization, které vám umožní přístup k metodám afterBegin, beforeCompletion a afterCompletion. Metoda beforeCompletion vám poskytne příležitost vrátit se k předchozí verzi transakce v případě, že nastane chyba.