No utilizar valores de propiedad JNDI específicos de WebLogic ni el protocolo t3

Debe eliminar o sustituir las propiedades de denominación específicas de WebLogic al obtener el IntialContext en la aplicación. La herramienta de migración busca en los archivos Java, XML y de propiedades los valores de propiedad: weblogic.jndi.WLInitialContextFactory, t3://.* y t3s://*. Por ejemplo, si una aplicación especifica las propiedades siguientes, la herramienta marcaría el texto rojo:

Liberty

archivos Java

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 el 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", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url", "t3://localhost:7001");

InitialContext ctx = new InitialContext(ht);
}

Elimine manualmente las propiedades innecesarias:


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

Archivos XML

Además de marcar archivos Java, la herramienta marcará archivos xml que contienen valores de propiedades de WebLogic. Para Liberty, las propiedades deben eliminarse para utilizar los valores de inicialización de InitialContext predeterminados.

Archivos de propiedades

Además de marcar archivos java y xml, la herramienta marcará archivos de propiedades que contienen valores de propiedades de WebLogic. Para Liberty, las propiedades deben eliminarse.

WebSphere Application Server tradicional

archivos Java

Al migrar a WebSphere Application Server tradicional, se marcarán las mismas propiedades WebLogic mencionadas anteriormente. Se proporcionará una corrección automática para los archivos Java que cambia los valores de las propiedades de nomenclatura de WebLogic por los 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", "weblogic.jndi.WLInitialContextFactory");
ht.put("java.naming.provider.url", "t3s://localhost:7001");

InitialContext ctx = new InitialContext(ht);
}

Usando el mismo ejemplo mostrado anteriormente, después de ejecutar la corrección automatizada para WebSphere Application Server traditional, el código será migrado 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");

InitialContext ctx = new InitialContext(ht);
}

Nota: La corrección automática utilizará el puerto de arranque predeterminado, 2809, para todas las URL de t3, incluidas las URL SSL ' t3s:// '. Compruebe los valores del servidor para asegurarse de que se utiliza el puerto correcto para cada URL. Para obtener información adicional, consulte el artículo Valores de número de puerto para WebSphere Application Server tradicional.

Otra opción al mover a WebSphere Application Server tradicional es eliminar las propiedades y utilizar el constructor InitialContext().

Atención : La corrección automática sólo ajustará los literales. Si se crea un URL utilizando variables, se deberá migrar manualmente.

Ejemplo variable antes:

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

Variable ejemplo después:

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

...

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

InitialContext ctx = new InitialContext(ht);
}

Observe que la variable de tipo serie port no ha cambiado. Asegúrese de que se migren todas las variables de este tipo.

El ejemplo siguiente muestra cambios similares aplicados a código XML.

Código XML antes de :

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

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

Código XML después:

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

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

Archivos de propiedades

Mientras la herramienta de migración comprueba los archivos de propiedades las propiedades de la fábrica de nombres y del proveedor no se migran mediante una corrección automatizada. Para WebSphere Application Server tradicional, elimine las propiedades o cambie los valores de las propiedades de denominación de WebSphere.

Consulte también la regla Utilizar valores de propiedad JNDI portables.