Nepoužívat metodu WebLogic TransactionHelper getUserTransaction

Toto pravidlo označí příznakem použití metody weblogic.transaction.TransactionHelper getUserTransaction(). Implementace metody musí být migrována pro použití na serveru WebSphere Application Server.

Řešení

Použijte následující kód místo metody getUserTransaction() specifické pro server WebLogic.

public static UserTransaction getUserTransaction() {
UserTransaction txn = null;
try {
Properties params = getInitialContextProperties();
      javax.naming.InitialContext ctx = new javax.naming.InitialContext(params);
      txn = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
} catch(Throwable t) {
t.printStackTrace();
}
return txn;

}

public static Properties getInitialContextProperties() {
Properties props = new Properties();

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

Další informace viz Globální transakce pro produkt Network Deployment.