Używaj wartości domyślnych właściwości JNDI klasy InitialContext

W razie migrowania do serwera Liberty należy używać wartości domyślnych właściwości JNDI java.naming.factory.initial i java.naming.provider.url. W przypadku tych właściwości następujące wartości serwera WebSphere Application Server traditional są niepoprawne:

Narzędzie do migracji przeszukuje pliki Java i pliki właściwości, znajdując właściwości, o których wspomniano wcześniej.

W plikach jndi.properties klucze właściwości java.naming.factory.initial i java.naming.provider.url są oznaczane niezależnie od wartości. Jeśli reguła pliku właściwości wykrywa plik jndi.properties, należy sprawdzić właściwości znajdujące się w tym pliku. Należy usunąć właściwości java.naming.factory.initial i java.naming.provider.url albo usunąć plik, jeśli żadna z tych właściwości nie jest potrzebna.

W poniższym przykładzie przedstawiono kod aplikacji, który zostanie oznaczony przez tę regułę:


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);
}

Gdy jest używany konstruktor InitialContext(Hashtable), należy usunąć te dwie właściwości. Jeśli nie są używane żadne inne właściwości, można użyć konstruktora domyślnego.

Poniższy przykład ilustruje prawidłowe użycie kodu przedstawionego w poprzednim przykładzie:


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

Gdy jest używany konstruktor InitialContext(Hashtable), należy usunąć te dwie właściwości. Jeśli nie są używane żadne inne właściwości, można użyć konstruktora domyślnego.

Reguła będzie również oznaczała wystąpienie com.ibm.websphere.naming.WsnInitialContextFactory w dowolnym miejscu kodu Java. Usuń ten łańcuch i upewnij się, że nie jest on używany jako część inicjowania klasy InitialContext.