Utilisation d'un nom de recherche UserTransaction compatible

Cette règle marque le code qui extrait l'objet UserTransaction en utilisant javax.transaction.UserTransaction ou weblogic.transaction.UserTransaction comme chaîne de recherche.

Les beans de transactions gérées par bean doivent obtenir l'objet UserTransaction à l'aide de EJBContext getUserTransaction . D'autres composants d'application, tels que les servlets et les composants Web, obtiennent la référence via une recherche JNDI à l'aide du nom, java:comp/UserTransaction .

Les types de recherche marqués sont les suivants :

Recherche de UserTransaction dans WebLogic
< span class="Code"> < span class="indent"> < /span> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("javax.transaction.UserTransaction") ;
ou
< span class="Code"> < span class="indent"> < /span> < span class= "JavaType">UserTransaction< /span> xact = ctx.lookup("weblogic.transaction.UserTransaction") ;

Pour les transactions gérées par bean, la ligne de code est modifiée pour utiliser getUserTransaction .

Recherche gérée par bean

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

Pour les codes de bean non enterprise (clients d'application, composants Web et servlets), le scanner de source propose un correctif rapide qui modifie le code en vue de l'utilisation d'une recherche JNDI avec le nom java:comp/UserTransaction. Le résultat ressemble à l'exemple suivant :

Recherche de UserTransaction dans WebSphere

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