Utilizza le proprietà JNDI InitialContext predefinite

Utilizzare i valori predefiniti per le proprietà JNDI java.naming.factory.initial e java.naming.provider.url quando si migra in Liberty. I seguenti valori WebSphere Application Server traditional per queste proprietà non sono validi.

Lo strumento di migrazione esegue la scansione dei file Java e delle proprietà per ricercare le proprietà indicate in precedenza.

Nei file jndi.properties le chiavi di proprietà java.naming.factory.initial e java.naming.provider.url sono contrassegnate indipendentemente dal valore. Se la regola del file delle proprietà rileva un file jndi.properties verificare le proprietà nel file. Rimuovere le proprietà java.naming.factory.initial e java.naming.provider.url o eliminare il file se non è necessaria nessuna proprietà.

L'esempio riportato di seguito illustra il codice dell'applicazione che verrà contrassegnato da questa regola:


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

Quando si utilizza il costruttore InitialContext(Hashtable) rimuovere queste due proprietà. Se non vengono utilizzate altre proprietà, è possibile utilizzare il costruttore predefinito.

L'esempio riportato di seguito illustra l'utilizzo corretto del codice mostrato nell'esempio precedente:


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

Quando si utilizza il costruttore InitialContext(Hashtable) rimuovere queste due proprietà. Se non vengono utilizzate altre proprietà, è possibile utilizzare il costruttore predefinito.

Questa regola ha una correzione automatizzata per rimuovere queste due proprietà. Copiare la configurazione personalizzata nel proprio file di build dell'applicazione per abilitarlo.

La regola contrassegna anche com.ibm.websphere.naming.WsnInitialContextFactory in qualsiasi punto nel codice Java. Rimuovere questa stringa e verificare che non sia utilizzata come parte dell'inizializzazione di InitialContext.