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.
java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactoryjava.naming.provider.url=corbaloc:iiop:localhost:2809Lo 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.
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.