InitialContext ルックアップ・メソッドがプリミティブ型を返す可能性がある

この規則により、java.lang.String にキャストされることになる javax.naming.InitialContext.lookup メソッド呼び出しにフラグを立てます。

Liberty の場合、javax.naming.InitialContext ルックアップ・メソッドが返すオブジェクトの型は、jndiEntry エレメントに保管されている値を Java リテラル・ストリングまたはプリミティブ・データ型として解釈することで決まります。解析に失敗した場合、値がそのまま未変更のストリングとして提供されます。WebSphere traditional の場合、プリミティブ・データ型はストリングとして返されます。

JNDI エントリー構成を WebSphere traditional から Liberty にマイグレーションする場合は、この違いを理解することが重要です。 例えば、WebSphere traditional で、100 になるように JNDI 値を構成した場合、アプリケーションは、初期値が「100」のストリングを処理するように記述されます。Liberty で、エントリーを次のように構成した場合、

<jndiEntry jndiName=myjndi/initialLimit value= ‘100’ />

Liberty は、その値を整数プリミティブに変換します。WebSphere traditional のときと Liberty でアプリケーションを機能させるには、JNDI エントリーを次のようにコーディングする必要があります。

<jndiEntry jndiName=myjndi/initialLimit value=‘100’ />

Migration Toolkit for Application Binaries によって生成される server.xml ファイル内に作成される Liberty 構成では、ストリング値を作成するために JNDI エントリーの値が引用符で囲まれるので、アプリケーションは、Liberty でも WebSphere traditional のときと同じように機能します。

詳しくは、 サーバー構成ファイルからの定数の JNDI バインディングの使用の資料を参照してください。