アプリケーションで IntialContext を取得する際に使用された JBoss 固有の命名プロパティーを削除するか置き換える必要があります。
マイグレーション・ツールは、プロパティー値 org.jnp.interfaces.NamingContextFactory、jnp://.*、および org.jboss.naming.* があるかどうか、Java ファイルおよびプロパティー・ファイルをスキャンします。
例えば、アプリケーションが以下のプロパティーを指定している場合、ツールは赤のテキストにフラグを立てます。
- java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
- java.naming.provider.url=jnp://localhost:1099
- java.naming.factory.url.pkgs=org.jboss.naming
Liberty
Java ファイル
Liberty にアプリケーションを移動する際に、InitialContext コンストラクターに渡されるプロパティーに初期コンテキスト・ファクトリーやプロバイダー URL を指定しないでください。
他の命名プロパティーを設定中でない限り、空のコンストラクターを使用してください。
以下の例では、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);
}
Liberty の場合、以下のように不要なプロパティーを手動で削除します。
import javax.naming.InitialContext;
...
void main( String[] args ) {
InitialContext ctx = new InitialContext();
}
プロパティー・ファイル
Java ファイルにフラグを立てることに加え、ツールは、前にリストされた JBoss 固有のプロパティーのプロパティー・ファイルにフラグを立てます。Liberty の場合、ファイルからこれらのプロパティーを削除してください。
WebSphere Application Server traditional
Java ファイル
WebSphere Application Server traditional にマイグレーションするとき、前述の同じ JBoss プロパティーにフラグが立てられます。
自動修正により、 Java ファイルにフラグが立てられ、 JBoss ネーミング・プロパティ値を、 WebSphere Application Server で動作する従来の値に変更します:
- java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory
- java.naming.provider.url=corbaloc:iiop:localhost:2809
- java.naming.factory.url.pkgs=com.ibm.ws.naming
以下の例では、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);
}
先に示した例を使うと、コードは図のように移行される:
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);
}
WebSphere Application Server traditional に移動する際のもう 1 つのオプションは、プロパティーを削除して、空の InitialContext() コンストラクターを使用することです。
指定すると、自動修正は org.jboss.naming が末尾に文字列 が指定された場合のみ適用されます。 もし org.jboss.naming 値の後に追加の文字列が続く場合、ルールはその値にフラグを立てる。
例えば、このプロパティにはフラグが立てられます: java.naming.factory.url.pkgs = org.jboss.naming:org.jnp.interfaces.
プロパティー・ファイル
Java ファイルにフラグを立てることに加え、ツールは、前にリストされた JBoss 固有のプロパティーのプロパティー・ファイルにフラグを立てます。
WebSphere Application Server traditional の場合は、それらのプロパティーを手動でファイルから削除するか、それらを WebSphere の命名プロパティー値に変更してください。