Liberty にマイグレーションするときは、java.naming.factory.initial JNDI プロパティーと java.naming.provider.url JNDI プロパティーのデフォルト値を使用します。
これらのプロパティーの以下の WebSphere Application Server traditional の値は無効です。
java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactoryjava.naming.provider.url=corbaloc:iiop:localhost:2809マイグレーション・ツールは、前記のプロパティーがあるかどうか、Java およびプロパティー・ファイルをスキャンします。
jndi.properties ファイル内で、java.naming.factory.initial と java.naming.provider.url のプロパティー・キーは、値に関係なくフラグが立てられます。
プロパティー・ファイルの規則で jndi.properties ファイルが検出された場合は、そのファイル内のプロパティーを確認します。
java.naming.factory.initial プロパティーと java.naming.provider.url プロパティーを削除するか、ファイル内のプロパティーがいずれも必要でない場合はそのファイルを削除します。
以下の例では、この規則がフラグを立てるアプリケーション・コードを示します。
|
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); } |
InitialContext(Hashtable) コンストラクターを使用する場合は、これらの 2 つのプロパティーを削除します。他のプロパティーを使用していない場合は、デフォルトのコンストラクターを使用できます。
以下の例は、前の例で示したコードの適切な使用法を示しています。
|
import javax.naming.InitialContext; ... void main( String[] args ) { InitialContext ctx = new InitialContext(); } |
InitialContext(Hashtable) コンストラクターを使用する場合は、これらの 2 つのプロパティーを削除します。他のプロパティーを使用していない場合は、デフォルトのコンストラクターを使用できます。
このルールには、これら 2 つのプロパティーを削除する自動修正があります。 カスタム構成をアプリケーション・ビルド・ファイルにコピーして有効にします。
この規則は、Java コード内の com.ibm.websphere.naming.WsnInitialContextFactory にも、コード内のどこであろうとフラグを立てます。このストリングを削除し、このストリングが InitialContext 初期設定の一部として使用されていないことを確認してください。