Standard-JNDI-Eigenschaften für InitialContext verwenden

Verwenden Sie die Standardwerte für die JNDI-Eigenschaften java.naming.factory.initial und java.naming.provider.url, wenn Sie die Migration auf Liberty durchführen. Die folgenden Werte von WebSphere Application Server Traditional für diese Eigenschaften sind nicht gültig:

Das Migrationstool scannt Java- und Eigenschaftendateien auf die zuvor genannten Eigenschaften.

In den Dateien jndi.properties werden die Eigenschaftsschlüssel java.naming.factory.initial und java.naming.provider.url unabhängig vom Wert markiert. Wenn die Eigenschaftendateiregel eine Datei jndi.properties findet, überprüfen Sie die Eigenschaften in der Datei. Entfernen Sie die Eigenschaften java.naming.factory.initial und java.naming.provider.url oder löschen Sie die Datei, falls keine der Eigenschaften benötigt wird.

Das folgende Beispiel veranschaulicht Anwendungscode, der von dieser Regel markiert wird:


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

Wenn Sie den Konstruktor InitialContext(Hashtable) verwenden, entfernen Sie diese beiden Eigenschaften. Wenn keine anderen Eigenschaften verwendet werden, können Sie den Standardkonstruktor verwenden.

Das folgende Beispiel veranschaulicht die ordnungsgemäße Verwendung des Codes, der im vorherigen Beispiel gezeigt wird:


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

Wenn Sie den Konstruktor InitialContext(Hashtable) verwenden, entfernen Sie diese beiden Eigenschaften. Wenn keine anderen Eigenschaften verwendet werden, können Sie den Standardkonstruktor verwenden.

Diese Regel hat einen automatisierten Fix zum Entfernen dieser beiden Eigenschaften. Kopieren Sie die angepasste Konfiguration in die Builddatei Ihrer Anwendung, um sie zu aktivieren.

Die Regel markiert auch com.ibm.websphere.naming.WsnInitialContextFactory an einer beliebigen Position in Java-Code. Entfernen Sie diese Zeichenfolge und stellen Sie sicher, dass sie nicht als Teil der InitialContext-Initialisierung verwendet wird.