Não Usar o Método TransactionHelper getUserTransaction do WebLogic

Esta regra sinaliza a utilização do método weblogic.transaction.TransactionHelper getUserTransaction(). A implementação do método deve ser migrada para uso no WebSphere Application Server.

Solução

Use o código a seguir em vez do método getUserTransaction() específico do 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;
}

Para obter mais informações, consulte Transações globais para implementação de rede.