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 le code des haricots non entrepreneuriaux (clients d'application, composants web et servlets), un correctif automatisé sera fourni sera fourni et modifiera le code pour utiliser 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") ;