Keine JBoss-spezifischen JNDI-Eigenschaftswerte verwenden

Sie müssen JBoss-spezifische Benennungseigenschaften, die beim Abrufen des IntialContext in Ihrer Anwendung verwendet werden, entfernen oder ersetzen. Das Migrationstool scannt Java- und Eigenschaftendateien auf die Eigenschaftswerte org.jnp.interfaces.NamingContextFactory, jnp://.* und org.jboss.naming.*. 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. Verwenden Sie einen leeren Konstruktor, sofern keine anderen Benennungseigenschaften definiert sind.

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", "org.jnp.interfaces.NamingContextFactory");
ht.put("java.naming.provider.url", "jnp://localhost:1099");
ht.put("java.naming.factory.url.pkgs", "org.jboss.naming");

InitialContext ctx = new InitialContext(ht);
}

Für Liberty entfernen Sie nicht benötigte Eigenschaften manuell.


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

Eigenschaftendateien

Das Tool markiert nicht nur Java-Dateien, sondern auch Eigenschaftendateien für die zuvor aufgelisteten JBoss-spezifischen Eigenschaften. Für Liberty müssen Sie diese Eigenschaften aus der Datei entfernen.

WebSphere Application Server Traditional

Java-Dateien

Bei einer Migration auf WebSphere Application Server Traditional werden dieselben JBoss-Eigenschaften markiert, die zuvor erwähnt wurden. Es gibt eine Schnellkorrektur im Quellenscanner für markierte Java-Dateien, die die Werte von JBoss-Benennungseigenschaften in Werte ändert, die in WebSphere Application Server Traditional 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", "org.jnp.interfaces.NamingContextFactory");
ht.put("java.naming.provider.url", "jnp://localhost:1099");
ht.put("java.naming.factory.url.pkgs", "org.jboss.naming");

InitialContext ctx = new InitialContext(ht);
}

Nach Ausführung der Java-Schnellkorrektur für WebSphere Application Server Traditional wird der Code aus dem vorherigen Beispiel 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");
ht.put("java.naming.factory.url.pkgs", "com.ibm.ws.naming");

InitialContext ctx = new InitialContext(ht);
}

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

Beachten Sie, dass die im Quellenscanner verfügbare Schnellkorrektur nur angewendet wird, wenn org.jboss.naming, wie im vorherigen Beispiel gezeigt, ohne abschließende Zeichenfolge angegeben wird. Wenn dem org.jboss.naming-Wert eine zusätzliche Zeichenfolge folgt, markiert die Regel den Wert, wendet die Schnellkorrektur aber nicht an. Diese Eigenschaft wird beispielsweise markiert, aber nicht geändert: java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces.


Eigenschaftendateien

Das Tool markiert nicht nur Java-Dateien, sondern auch Eigenschaftendateien für die zuvor aufgelisteten JBoss-spezifischen Eigenschaften. Für WebSphere Application Server Traditional müssen Sie die Eigenschaften manuell aus der Datei entfernen oder deren Werte in die Werte von WebSphere-Benennungseigenschaften ändern.