Ne pas utiliser la méthode WebLogic TransactionHelper getUserTransaction

Cette règle marque l'utilisation du weblogic.transaction.TransactionHelper getUserTransaction() . L'implémentation de la méthode doit migrer pour être utilisée dans WebSphere Application Server.

Solution

Utilisez le code ci-après au lieu de la méthode WebLogic-specific getUserTransaction().

< span class="Code"> < span class= "JavaKeyword"> statique publique < /span> < span class="JavaType">UserTransaction< /span> getUserTransaction () {
UserTransaction txn = null;
try {
Propriétés params = getInitialContextProperties() ;
javax.naming.InitialContext ctx = new javax.naming.InitialContext(paramètres) ;
      txn = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
} catch(Throwable t) {
t.printStackTrace();
}
return txn;

}

public static Properties getInitialContextProperties() {
Propriétés props = new Propriétés() ;

props.put(Contexte.INITIAL_CONTEXT_FACTORY, getInitialContextFactoryName ()) ;
props.put(Contexte.URL_PKG_PREFIXES, "com.ibm.ws.runtime:com.ibm.ws.naming") ;
props.put("org.omg.CORBA.ORBClass", "com.ibm.CORBA.iiop.ORB");
return props;
}

Pour plus d'informations, voir Transactions globales.