ページの先頭行へ戻る
Interstage Application Server V12.0.0 Java EE 7 設計・構築・運用ガイド
FUJITSU Software

4.12.2 初期コンテキスト生成時の設定

アプリケーションでJNDI APIを使用する場合、まず、javax.naming.InitialContextクラスをnewして初期コンテキストを生成します。初期コンテキストにはContextインタフェースが実装され、名前を解決する開始点が提供されます。
初期コンテキストが生成されると、コンストラクタに渡される環境パラメタによって環境が初期化されますが、この環境パラメタの指定値は使用するJNDIサービスプロバイダによって異なります。このため、プロパティをアプリケーション内で指定するとアプリケーションの移植性が損なわれます。Java EEではこの問題を解決するため、コンテナ起動時に自動的に必要な環境設定を行うことでアプリケーションの汎用性を向上しています。

IJServerクラスタまたはアプリケーションクライアントコンテナの場合

コンテナが自動的に環境設定するため、JNDIの環境プロパティの指定は必要ありません。
IJServerクラスタまたはアプリケーションクライアントコンテナを起動する時にクラスパスに自動設定するgf-client.jarファイルに、Interstage Java EEサービスが提供するJNDIサービスプロバイダ用に編集されたjndi.propertiesファイルを内包しています。これによりJava EEコンポーネント内でファクトリを指定しなくてもIJServerクラスタ上のネーミングサービスにアクセスできます。

スタンドアロンクライアントの場合

スタンドアロンクライアントで動作させる場合には、gf-client.jarファイルを優先的に環境変数クラスパスに設定することでプロパティが自動設定されます。また、明示的にJNDIの環境プロパティを指定する場合には以下を指定してください。

プロパティ名

説明

java.naming.factory.initial (注)

com.sun.enterprise.naming.SerialInitContextFactory

IJServerクラスタのネーミングサービスにアクセスするための標準の初期コンテキストファクトリです。

java.naming.factory.url.pkgs

com.sun.enterprise.naming

URL コンテキストファクトリをロードする時に使用するパッケージ接頭辞のリストを指定するための、プロパティです。

注) java.naming.factory.initialには以下のファクトリを指定しても動作しますが、動作保証しません。上記のプロパティを使用してください。

説明

com.sun.jndi.cosnaming.CNCtxFactory

CosNaming用の初期コンテキストファクトリです。

com.sun.appserv.naming.S1ASCtxFactory

ロードバランス用の初期コンテキストファクトリです。