Musíte odebrat nebo nahradit vlastnosti pojmenování specifické pro JBoss používané při získávání kontextu IntialContext v aplikaci.
Nástroj migrace prochází soubory Java a soubory vlastnosti pro hodnoty vlastností: org.jnp.interfaces.NamingContextFactory, jnp://.* a org.jboss.naming.*.
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", "org.jnp.interfaces.NamingContextFactory"); ht.put("java.naming.provider.url", "jnp://localhost:1099"); ht.put("java.naming.factory.url.pkgs", "org.jboss.naming"); InitialContext ctx = new InitialContext(ht); } |
Pro server Liberty ručně odeberte nepotřebné vlastnosti:
|
import javax.naming.InitialContext; ... void main( String[] args ) { InitialContext ctx = new InitialContext(); } |
Kromě označení souborů java bude nástroj označovat soubory vlastností pro vlastnosti specifické pro JBoss uvedené dříve. V případě serveru Liberty odeberte tyto vlastnosti ze souboru.
Při migraci na server WebSphere Application Server traditional budou označeny stejné vlastnosti JBoss uvedené dříve. Ve zdrojovém skeneru existuje rychlá oprava pro označené soubory Java, která mění hodnoty vlastností pojmenování JBoss 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", "org.jnp.interfaces.NamingContextFactory"); ht.put("java.naming.provider.url", "jnp://localhost:1099"); ht.put("java.naming.factory.url.pkgs", "org.jboss.naming"); InitialContext ctx = new InitialContext(ht); } |
V příkladu uvedeném výše bude kód po spuštění rychlé opravy Java pro server WebSphere Application Server traditional migrován, jak je uvedeno:
|
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"); ht.put("java.naming.factory.url.pkgs", "com.ibm.ws.naming"); InitialContext ctx = new InitialContext(ht); } |
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().
Všimněte si, že rychlá oprava dostupná ve zdrojovém skeneru se použije pouze v případě, že je zadána hodnota org.jboss.naming bez koncového řetězce, jak je zobrazeno v předchozím příkladu. Je-li hodnota org.jboss.naming následována dalším řetězcem, pravidlo označí hodnotu, ale nepoužije rychlou opravu. Např. tato vlastnost bude označena, ale nebude změněna: java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces.
Kromě označování souborů java nástroj označí soubory vlastností pro specifické vlastnosti systému JBoss uvedené dříve. Pro server WebSphere Application Server traditional ručně odeberte tyto vlastnosti ze souboru, nebo je změňte na hodnoty vlastností pojmenování WebSphere.