Utilizar las propiedades predeterminadas de JNDI para InitialContext

Utilice los valores predeterminados para las propiedades java.naming.factory.initial y java.naming.provider.url de JNDI cuando migre a Liberty. Los valores siguientes de WebSphere Application Server tradicional para estas propiedades no son válidos:

La herramienta de migración explora los archivos Java y de propiedades en busca de las propiedades mencionadas anteriormente.

En los archivos jndi.properties, las claves de propiedad java.naming.factory.initial y java.naming.provider.url se marcan independientemente del valor. Si la regla para archivos de propiedades detecta un archivo jndi.properties, examine las propiedades contenidas en el archivo. Elimine las propiedades java.naming.factory.initial y java.naming.provider.url o suprima el archivo si ninguna de las propiedades es necesaria.

El ejemplo siguiente ilustra el código de aplicación que esta regla señalará:


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

Cuando utilice el constructor InitialContext(Hashtable), elimine estas dos propiedades. Si no se utiliza ninguna otra propiedad, puede utilizar el constructor predeterminado.

El ejemplo siguiente ilustra el uso correcto del código que se muestra en el ejemplo anterior:


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

Cuando utilice el constructor InitialContext(Hashtable), elimine estas dos propiedades. Si no se utiliza ninguna otra propiedad, puede utilizar el constructor predeterminado.

Esta regla tiene un arreglo automatizado para eliminar estas dos propiedades. Copie la configuración personalizada en el archivo de compilación de la aplicación para habilitarla.

La regla también marcará com.ibm.websphere.naming.WsnInitialContextFactory en cualquier parte del código Java. Elimine esta serie y verifique que no se está utilizando como parte de la inicialización de InitialContext.