Это правило отмечает фрагменты кода, которые получают объект UserTransaction, используя поиск по строке javax.transaction.UserTransaction или weblogic.transaction.UserTransaction.
EJB транзакций, управляемых EJB, должны получать объект UserTransaction с помощью метода getUserTransaction из EJBContext. Другие компоненты приложения, такие как сервлеты и веб-компоненты, могут получать ссылку, выполняя поиск JNDI по имени java:comp/UserTransaction.
Отмечаются операции поиска следующих типов.
Поиск UserTransaction WebLogic|
UserTransaction xact = ctx.lookup("javax.transaction.UserTransaction"); или UserTransaction xact = ctx.lookup("weblogic.transaction.UserTransaction"); |
Для транзакций, управляемых EJB, строка кода меняется так, чтобы использовался метод getUserTransaction.
Поиск транзакции, управляемой EJB|
UserTransaction xact = ctx.getUserTransaction(); |
Для кода элементов, отличных от EJB, (клиентов, веб-компонентов и сервлетов) сканер исходного кода предоставляет быстрое исправление, изменяющее код для использования поиска JNDI по имени java:comp/UserTransaction. Ниже приведет пример того, что получается в результате преобразования кода:
Поиск UserTransaction WebSphere|
UserTransaction xact = ctx.lookup("java:comp/UserTransaction"); |