使用預設 InitialContext JNDI 內容

當您移轉至 Liberty 時,請使用 java.naming.factory.initialjava.naming.provider.url JNDI 內容的預設值。這些內容的下列 WebSphere Application Server Traditional 值無效:

移轉工具會掃描 Java 檔和內容檔來找出上述內容。

jndi.properties 檔中,無論 java.naming.factory.initialjava.naming.provider.url 內容索引鍵是什麼值,一律標示。 如果內容檔規則偵測到 jndi.properties 檔,請檢查檔案中的內容。 請移除 java.naming.factory.initialjava.naming.provider.url 內容,或者,如果不需要任何內容,請刪除檔案。

下例範例說明此規則會標示的應用程式碼:


import java.util.Hashtable;
import javax.naming.InitialContext;
...
void main( String[] args ) {
Hashtable ht = new Hashtable();

ht.put(java.naming.factory.initial, com.ibm.websphere.naming.WsnInitialContextFactory);
ht.put(java.naming.provider.url, corbaloc:iiop:localhost:2809);

InitialContext ctx = new InitialContext(ht);
}

當您使用 InitialContext(Hashtable) 建構子時,請移除這兩個內容。如果未使用其他內容,您可以使用預設建構子。

下列範例說明上述範例所示程式碼的適當用法:


import javax.naming.InitialContext;
...
void main( String[] args ) {
InitialContext ctx = new InitialContext();
}

當您使用 InitialContext(Hashtable) 建構子時,請移除這兩個內容。如果未使用其他內容,您可以使用預設建構子。

此規則具有自動化修正程式,可移除這兩個內容。 將自訂配置複製到應用程式建置檔以啟用它。

此規則也會標示 Java 程式碼中任何地方的 com.ibm.websphere.naming.WsnInitialContextFactory。請移除此字串,並確認沒有出現在 InitialContext 起始設定中。