Debe eliminar o sustituir las propiedades de denominación específicas de JBoss al obtener el IntialContext en la aplicación.
La herramienta de migración busca en Java y los archivos de propiedades los valores de propiedad:
org.jnp.interfaces.NamingContextFactory, jnp://.* y org.jboss.naming.*.
Por ejemplo, si una aplicación especifica las propiedades siguientes, la herramienta marcaría el texto rojo:
Al mover su aplicación a Liberty, no especifique una fábrica de contexto inicial o un URL
de proveedor en las propiedades que se pasan al constructor InitialContext.
Utilice un constructor vacío a menos que se estén estableciendo otras propiedades de denominación.
El ejemplo siguiente ilustra el código de aplicación que esta regla marcará al migrar a Liberty:
|
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); } |
Para Liberty, elimine manualmente las propiedades innecesarias:
|
import javax.naming.InitialContext; ... void main( String[] args ) { InitialContext ctx = new InitialContext(); } |
Además de marcar archivos java, la herramienta marcará archivos de propiedades para las propiedades específicas de JBoss listadas anteriormente. Para Liberty, elimine estas propiedades del archivo.
Al migrar a WebSphere Application Server tradicional, se marcarán las mismas propiedades JBoss mencionadas anteriormente. En el explorador de orígenes hay un arreglo rápido para archivos Java marcados que cambia los valores de denominación de JBoss por los valores que funcionan en WebSphere Application Server tradicional:
El ejemplo siguiente ilustra el código de aplicación que esta regla marcará al migrar a WebSphere Application Server tradicional:
|
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); } |
Utilizando el ejemplo mostrado anteriormente, después de ejecutar el arreglo rápido de Java de WebSphere Application Server tradicional, el código se migrará tal como se muestra:
|
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); } |
Otra opción al mover a WebSphere Application Server tradicional es eliminar las propiedades y utilizar el constructor InitialContext().
Tenga en cuenta que el arreglo rápido disponible en el explorador de orígenes solo se
aplicará cuando org.jboss.naming se especifique sin ninguna serie final tal
como se muestra en el ejemplo anterior. Si el valor org.jboss.naming va seguido de una serie adicional, la regla marcará el valor, pero no aplicará el arreglo rápido. Por ejemplo, esta propiedad se marcará, pero no se cambiará:
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces.
Además de marcar archivos java, la herramienta marcará archivos de propiedades para las propiedades específicas de JBoss listadas anteriormente. Para WebSphere Application Server tradicional, elimine manualmente estas propiedades del archivo o cámbielas por los valores de propiedades de denominación de WebSphere.