Musíte odebrat nebo nahradit vlastnosti pojmenování specifické pro WebLogic používané při získávání kontextu IntialContext v aplikaci.
Nástroj migrace prochází soubory Java, XML a soubory vlastností pro hodnoty vlastností:
weblogic.jndi.WLInitialContextFactory, t3://.* a t3s://*.
Pokud například aplikace zadá následující vlastnosti, označí tento nástroj červený text:
Při přesunu aplikace na server Liberty nezadávejte počáteční kontextovou továrnu nebo adresu URL poskytovatele do vlastností předaných konstruktoru InitialContext.
Použijte prázdný konstruktor, dokud nejsou nastaveny jiné vlastnosti pojmenování.
Následující příklad ilustruje kód aplikace, který toto pravidlo označí při migraci na server 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); } |
Ručně odeberte nepotřebné vlastnosti:
|
import javax.naming.InitialContext; ... void main( String[] args ) { InitialContext ctx = new InitialContext(); } |
Kromě označení souborů java nástroj označí soubory xml obsahující hodnoty vlastností WebLogic. V případě serveru Liberty by vlastnosti měly být odebrány, aby bylo možné použít výchozí inicializační hodnoty InitialContext.
Kromě označení souborů java a xml nástroj označí soubory vlastností obsahující hodnoty vlastností WebLogic. V případě serveru Liberty by měly být vlastnosti odebrány.
Při migraci na server WebSphere Application Server traditional budou označeny stejné vlastnosti WebLogic uvedené dříve. Ve zdrojovém skeneru existuje rychlá oprava pro soubory Java, která mění hodnoty vlastností pojmenování WebLogic na hodnoty, jež fungují na serveru WebSphere Application Server traditional:
Následující příklad ilustruje kód aplikace, který toto pravidlo označí při migraci na server WebSphere Application Server traditional:
|
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); } |
Pomocí stejného dříve uvedeného příkladu, po spuštění rychlé opravy Java pro server WebSphere Application Server traditional, bude kód migrován, jak je zobrazeno:
|
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); } |
Poznámka: Rychlá oprava používá výchozí port samozavedení 2809 pro všechny adresy t3 URL, včetně adres URL SSL 't3s://'. Zkontrolujte nastavení serveru a ujistěte se, že je pro každou adresu URL použit správný port. Další informace viz článek Nastavení čísel portů pro server WebSphere Application Server traditional.
Jinou možností při přesunu na server WebSphere Application Server traditional je odebrání vlastností a použití prázdného konstruktoru InitialContext().
Varování: Rychlá oprava upraví pouze literály. Je-li adresa URL sestavena pomocí proměnných, bude nutné ji migrovat ručně.
Příklad proměnné před rychlou opravou:|
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); } |
|
void main( String[] args ) { Hashtable ht = new Hashtable(); ... String port = "7001"; ht.put("java.naming.provider.url", "corbaloc:iiop:localhost:" + port); InitialContext ctx = new InitialContext(ht); } |
Všimněte si, že řetězcová proměnná port nebyla změněna. Ujistěte se, že všechny takové proměnné jsou migrovány.
Následující příklad ilustruje podobné změny použité pro kód XML.
Kód XML před spuštěním rychlé opravy:|
<property name="java.naming.factory.initial" value="weblogic.jndi.WLInitialContextFactory"/> <property name="java.naming.provider.url" value="t3://localhost:7001/"/> |
|
<property name="java.naming.factory.initial" value="com.ibm.websphere.naming.WsnInitialContextFactory"/> <property name="java.naming.provider.url" value="corbaloc:iiop:localhost:2809/"/> |
Zatímco nástroj migrace kontroluje soubory vlastností, nejsou továrny pojmenování a vlastnosti poskytovatele migrovány pomocí rychlé opravy. Pro server WebSphere Application Server traditional buď odeberte vlastnosti, nebo je změňte na hodnoty vlastností pojmenování WebSphere.
Viz také pravidlo Použít hodnoty vlastností přenosného rozhraní JNDI.