Nepoužívat metodu WebLogic TransactionHelper getUserTransaction

Toto pravidlo označí příznakem použití 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.

< span class="Code"> < span class= "JavaKeyword"> public static < /span> < span class="JavaType">UserTransaction< /span> 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.