Używaj zgodnej nazwy wyszukiwania obiektu UserTransaction

Ta reguła oznacza kod, który pobiera obiekt UserTransaction za pomocą łańcucha wyszukiwania javax.transaction.UserTransaction lub weblogic.transaction.UserTransaction.

Komponenty bean transakcji zarządzanych przez komponent bean muszą uzyskać obiekt UserTransaction przy użyciu obiektu EJBContext. getUserTransaction . Inne komponenty aplikacji, takie jak serwlety i komponenty WWW, uzyskają odwołanie za pomocą wyszukiwania JNDI przy użyciu nazwy. java:comp/UserTransaction .

Są oznaczane poniższe typy wyszukiwania.

Wyszukiwanie obiektu UserTransaction produktu WebLogic
< span class="Code"> < span class="indent"> < /span> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("javax.transaction.UserTransaction");
lub
< span class="Code"> < span class="indent"> < /span> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("weblogic.transaction.UserTransaction");

W przypadku transakcji zarządzanych przez komponent bean wiersz kodu jest zmieniany w celu użycia getUserTransaction .

Wyszukiwanie zarządzane przez komponent bean

< span class="Code"> < span class="indent"> < /span> < span class= "JavaType">UserTransaction< /span> xact = ctx.getUserTransaction();

W przypadku kodu fasoli innej niż korporacyjna (klientów aplikacji, komponentów sieciowych i serwletów), zostanie dostarczona zautomatyzowana poprawka zostanie dostarczona poprawka, która zmieni kod, aby użyć wyszukiwania JNDI z nazwą, java:comp/UserTransaction. Wynik jest podobny do poniższego przykładu:

Wyszukiwanie obiektu UserTransaction produktu WebSphere

< span class="Code"> < span class="indent"> < /span> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup(" java:comp/UserTransaction");