Nu utilizaţi metoda WebLogic TransactionHelper getUserTransaction

Această regulă steaguri utilizarea de weblogic.transaction.TransactionHelper getUserTransaction() :NONE. Implementarea metodei trebuie să fie migrată pentru utilizarea pe WebSphere Application Server.

Soluţie

Utilizaţi următorul cod în locul metodei WebLogic-specific getUserTransaction().

< span class="Code"> < span class= "JavaKeyword" > public static < /span> < span class= "JavaType" >UserTransaction< /span> getUser
UserTransaction txn = null;
try {
Proprietăți 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() {
Proprietăți props = new Proprietăți();

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

Pentru informaţii suplimentare, vedeţi Global Transactions for Network Deployment.