此規則會偵測是否使用 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);