此规则会检测是否使用 WebLogic API 类 weblogic.jndi.Environment 来设置上下文属性。必须将对此对象的所有引用迁移至可接受的 WebSphere Application Server 等效项。例如,以下 Java 代码说明了通常如何在应用程序中使用 weblogic.jndi.Environment 对象:
- weblogic.jndi.Environment environment = new weblogic.jndi.Environment();
- environment.setInitialContextFactory(weblogic.jndi.Environment.DEFAULT_INITIAL_CONTEXT_FACTORY);
- environment.setProviderURL("t3://myweblogiccluster.com:7001");
- InitialContext ctx = environment.getInitialContext();
将提供自动修复,将对象迁移到 weblogic.jndi.Environment 对象迁移到 Hashtable 对象。 Hashtable
对象的键代表 JNDI 名称值,并且 Hashtable
对象的值会被变换为 WebSphere Application Server 的可移植 JNDI 值。 例如,前面的代码被迁移至:
- new java.util.Hashtable<String, String> environment = new java.util.Hashtable<String, String>);
- environmentHashtable.put("java.naming.factory.initial", "com.ibm.websphere.naming.WsnInitialContextFactory");
- environmentHashtable.put("java.naming.provider.url", "corbaloc:iiop:myweblogiccluster.com:2809");
- InitialContext ctx = new javax.naming.InitialContext(environmentHashtable);