No utilizar el método TransactionHelper getUserTransaction de WebLogic

Esta regla marca el uso del método weblogic.transaction.TransactionHelper getUserTransaction(). La implementación del método se debe migrar para utilizarla en WebSphere Application Server.

Solución

Utilice el código siguiente en lugar del método getUserTransaction() específico de 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;
}

Si desea más información, consulte Transacciones globales para Network Deployment.