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:
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(); } |
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.
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.
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.