Az alapértelmezett InitialContext JNDI tulajdonságok használata

Liberty kiszolgálóra való áttéréskor használja az java.naming.factory.initial és java.naming.provider.url JNDI tulajdonságokat. A tulajdonságok alábbi hagyományos WebSphere Application Server értékei nem érvényesek:

Az átállítási eszköz ellenőrzi a Java és tulajdonságfájlokban a korábban említett tulajdonságokat.

A jndi.properties fájlokban a java.naming.factory.initial és java.naming.provider.url tulajdonságkulcsok meg vannak jelölve, függetlenül az értéküktől. Ha a tulajdonságfájl szabály jndi.properties fájlt észlel, akkor ellenőrizze a fájlban található tulajdonságokat. Távolítsa el a java.naming.factory.initial és java.naming.provider.url tulajdonságokat vagy törölje a fájlt, ha a tulajdonságok egyikére sincs szükség.

A következő példa olyan alkalmazáskódot mutat be, amelyet ez a szabály meg fog jelölni:


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

Az InitialContext(Hashtable) konstruktor használatakor távolítsa el ezt a két tulajdonságot. Ha más tulajdonságot nem használ, akkor használhatja az alapértelmezett konstruktort.

Az alábbi példa az előző példában bemutatott kód helyes használatát mutatja be:


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

Az InitialContext(Hashtable) konstruktor használatakor távolítsa el ezt a két tulajdonságot. Ha más tulajdonságot nem használ, akkor használhatja az alapértelmezett konstruktort.

Ez a szabály automatikus javítást tartalmaz a két tulajdonság eltávolításához. Másolja az egyéni konfigurációt az alkalmazás összeépítési fájljába a engedélyezéséhez.

A szabály a com.ibm.websphere.naming.WsnInitialContextFactory elemet is megjelöli mindenhol a Java kódban. Távolítsa el ezt a karaktersorozatot és ellenőrizze, hogy az nincs-e használatban InitialContext inicializálás részeként.