デフォルトの InitialContext JNDI プロパティーを使用する

Liberty にマイグレーションするときは、java.naming.factory.initial JNDI プロパティーと java.naming.provider.url JNDI プロパティーのデフォルト値を使用します。 これらのプロパティーの以下の WebSphere Application Server traditional の値は無効です。

マイグレーション・ツールは、前記のプロパティーがあるかどうか、Java およびプロパティー・ファイルをスキャンします。

jndi.properties ファイル内で、java.naming.factory.initialjava.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 初期設定の一部として使用されていないことを確認してください。