Java™ Platform
Standard Edition 7

パッケージ javax.naming

ネームサービスにアクセスするためのクラスおよびインタフェースを提供します。

参照: 説明

パッケージ javax.naming の説明

ネームサービスにアクセスするためのクラスおよびインタフェースを提供します。

このパッケージは、Java Naming and Directory InterfaceTM (JNDI) のネーミング操作を定義します。  JNDI は、Java プログラミング言語で記述されたアプリケーションにネーミングおよびディレクトリ機能を提供します。ほかのネームおよびディレクトリサービスの実装と独立して動作するように設計されています。新しいサービス、展開されつつあるサービス、すでに展開されているサービスなど、さまざまなサービスに対して共通の方法でアクセスすることができます。

Context

このパッケージは、Context インタフェースで表される、コンテキストの概念を定義します。コンテキストはオブジェクトに対する名前のバインディングのセットで構成されます。Context は、オブジェクトの検索、バインディング、バインディング解除、名前の変更、およびサブコンテキストの作成と破棄を実行するためのコアインタフェースです。

lookup() は、もっとも頻繁に使用される操作です。検索したいオブジェクトの名前を lookup() に提供すると、その名前にバインドされたオブジェクトが返されます。この例として、プリンタを検索して、出力するプリンタオブジェクトにドキュメントを送信するコードを次に示します。

Printer printer = (Printer)ctx.lookup("treekiller");
printer.print(report);

名前

Context インタフェース内のすべてのネーミングメソッドに、2 つのオーバーロードがあります。1 つは Name 引数を受け入れるオーバーロードで、もう 1 つは文字列名を受け入れるオーバーロードです。Name は、ジェネリック名を表す (複数のコンポーネントがある場合はゼロから順序付けされる) インタフェースです。これらのメソッドの場合、複数の名前空間にまたがる名前を使用してオブジェクトに名前を付けるために、Name を使用して合成名 (CompositeName) を表せます。

Name を受け入れるオーバーロードは、アプリケーションで名前の操作 (名前の作成、コンポーネントの比較など) を行う場合に便利です。1 つの名前で単純に読み込み、対応するオブジェクトを検索するなどの単純なアプリケーションで、文字列名を受け入れるオーバーロードはより役に立ちます。

バインディング

Binding クラスはオブジェクトに対する名前のバインディングを表します。このクラスは、バインドされたオブジェクトの名前、オブジェクトのクラスの名前、およびオブジェクト自体が格納される 1 つのタプル (組) です。

実際、Binding クラスはオブジェクトの名前とオブジェクトのクラス名だけで構成される、NameClassPair のサブクラスです。NameClassPair は、オブジェクトのクラスに関する情報だけが必要で、オブジェクトを取得するのに余計な手間をかけたくない場合に便利です。

参照

オブジェクトはネーミングおよびディレクトリサービスに異なる方法で格納されます。オブジェクトストアが Java オブジェクトの格納をサポートしている場合、オブジェクトの直列化された形式での格納がサポートされます。ただし、Java オブジェクトの格納をサポートしないネーミングおよびディレクトリサービスもあります。さらに、ディレクトリ内のいくつかのオブジェクトにとっては、Java プログラムは単にそれらのオブジェクトにアクセスするアプリケーションの 1 グループにすぎません。この場合、直列化された Java オブジェクトはもっとも適切な表現にはなりません。JNDI は、オブジェクトのコピーの構築方法に関する情報が格納される、Reference クラスで表される参照を定義します。JNDI は、参照の検索先を、ディレクトリからこの参照が表す Java オブジェクトへ変更しようとします。その結果、JNDI クライアントはディレクトリ内に格納される内容が Java オブジェクトであるとみなします。

初期コンテキスト

JNDI では、すべてのネーミングおよびディレクトリ操作はコンテキストに関連して実行されます。絶対的なルートはありません。したがって、JNDI はネーミングおよびディレクトリ操作の開始地点を指定する初期コンテキストInitialContext を定義します。一度初期コンテキストを指定すると、ほかのコンテキストやオブジェクトを参照する場合もその初期コンテキストを使用できます。

例外

JNDI はネーミングおよびディレクトリ操作を実行する過程でスローできる例外のクラス階層を定義します。このクラス階層のルートは NamingException です。特定の例外を扱うプログラムでは、その例外の対応するサブクラスをキャッチできます。それ以外の場合、プログラムでは NamingException をキャッチします。

パッケージの仕様

JNDI API の仕様と関連ドキュメントについては、「JNDI のドキュメント」を参照してください。
導入されたバージョン:
1.3
Java™ Platform
Standard Edition 7

バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.