WebLogic-spezifische JNDI-Eigenschaftswerte oder Protokoll T3 nicht verwenden

Sie müssen WebLogic-spezifische Benennungseigenschaften, die beim Abrufen des IntialContext in Ihrer Anwendung verwendet werden, entfernen oder ersetzen. Das Migrationstool scannt Java-, XML- und Eigenschaftendateien nach Eigenschaftswerten: weblogic.jndi.WLInitialContextFactory, t3://.* und t3s://*. Wenn eine Anwendung beispielsweise die folgenden Eigenschaften angibt, markiert das Tool den roten Text:

Liberty

Java-Dateien

Wenn Sie Ihre Anwendung auf Liberty umstellen, geben Sie in den Eigenschaften, die an den Konstruktor InitialContext übergeben werden, keine Ausgangskontextfactory und keine Provider-URL an. Sofern keine anderen Benennungseigenschaften definiert werden, verwenden Sie den leeren Konstruktor.

Das folgende Beispiel veranschaulicht Anwendungscode, der von dieser Regel bei der Migration auf Liberty markiert wird:


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

ht.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url", "t3://localhost:7001");

InitialContext ctx = new InitialContext(ht);
}

Entfernen Sie nicht benötigte Eigenschaften manuell.


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

XML-Dateien

Das Tool markiert nicht nur Java-Dateien, sondern auch XML-Dateien, die WebLogic-Eigenschaftswerte enthalten. Für Liberty müssen die Eigenschaften entfernt werden, damit die InitialContext-Standardinitialisierungswerte verwendet werden.

Eigenschaftendateien

Das Tool markiert nicht nur Java- und XML-Dateien, sondern auch Eigenschaftendateien, die WebLogic-Eigenschaftswerte enthalten. Für Liberty müssen die Eigenschaften entfernt werden.

WebSphere Application Server Traditional

Java-Dateien

Bei einer Migration auf WebSphere Application Server Traditional werden dieselben WebLogic-Eigenschaften markiert, die zuvor erwähnt wurden. Es wird eine automatische Korrektur für Java Dateien bereitgestellt zur Verfügung gestellt, die die Werte der WebLogic Benennungseigenschaften in solche ändert, die in WebSphere Application Server traditionell funktionieren:

Das folgende Beispiel veranschaulicht Anwendungscode, der von dieser Regel bei der Migration auf WebSphere Application Server Traditional markiert wird:


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

ht.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url", "t3s://localhost:7001");

InitialContext ctx = new InitialContext(ht);
}

Im gleichen Beispiel wie zuvor wird der Code nach der Ausführung der automatischen Korrektur für WebSphere Application Server traditional wie folgt migriert:


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

Hinweis: Die automatische Korrektur verwendet den Standard-Bootstrap-Port 2809 für alle t3 URLs, einschließlich der SSL-' t3s:// ' URLs. Überprüfen Sie Ihre Servereinstellungen und stellen Sie sicher, dass für jede URL der richtige Port verwendet wird. Weitere Informationen enthält der Artikel Einstellungen für Portnummern in WebSphere Application Server Traditional.

Eine weitere Option bei der Migration auf WebSphere Application Server Traditional ist das Entfernen der Eigenschaften und die Verwendung des leeren InitialContext()-Konstruktors.

Achtung! Die automatische Korrektur korrigiert nur Literale. Wenn eine URL mit Variablen erstellt wird, muss sie manuell migriert werden.

Variables Beispiel zuvor:

void main( String[] args ) {
Hashtable ht = new Hashtable();

...

String port = "7001";
ht.put("java.naming.provider.url", "t3://localhost:" + port);

InitialContext ctx = new InitialContext(ht);
}

Variables Beispiel nach:

void main( String[] args ) {
Hashtable ht = new Hashtable();

...

String port = "7001";
ht.put("java.naming.provider.url", "corbaloc:iiop:localhost:" + Port);

InitialContext ctx = new InitialContext(ht);
}

Wie Sie sehen, wurde die Zeichenfolgevariable port nicht geändert. Stellen Sie sicher, dass alle derartigen Variablen migriert werden.

Das folgende Beispiel zeigt ähnliche Änderungen für XML-Code.

XML-Code vor :

< property name= "java.naming.factory.initial" value="weblogic.jndi.WLInitialContextFactory" />

< property name= "java.naming.provider.url" value="t3://localhost:7001/" />

XML-Code nach:

< property name= "java.naming.factory.initial" value="com.ibm.websphere.naming.WsnInitialContextFactory"/>

< property name= "java.naming.provider.url" value="corbaloc:iiop:localhost:2809/"/>

Eigenschaftendateien

Während das Migrationstool die Eigenschaftsdateien überprüft, werden die Eigenschaften der Namensfabrik und des Anbieters nicht durch eine automatische Korrektur migriert. Für WebSphere Application Server Traditional müssen Sie die Eigenschaften entfernen oder deren Werte in die Werte von WebSphere-Benennungseigenschaften ändern.

Lesen Sie hierzu auch die Regel Portierbare JNDI-Eigenschaftswerte verwenden.