JavaTM Platform
Standard Ed. 6

パッケージ javax.naming

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

参照先:
          説明

インタフェースの概要
Context このインタフェースは、名前からオブジェクトへのバインディングのセットから構成されるネーミングコンテキストを表します。
Name Name インタフェースは、一般名、つまりコンポーネントが順序付けされたシーケンスを表します。
NameParser このインタフェースは、1 階層の名前空間から名前の構文を解析するために使用されます。
NamingEnumeration<T> このインタフェースは、javax.naming および javax.naming.directory パッケージ内のメソッドによって返されたリストを列挙するために使用されます。
Referenceable このインタフェースは、Reference をそれ自体に提供できるオブジェクトによって実装されます。
 

クラスの概要
BinaryRefAddr このクラスは、通信端点のアドレスのバイナリ形式を表します。
Binding このクラスは、コンテキストの名前とオブジェクトとのバインディングを表します。
CompositeName このクラスは、合成名を表します。
CompoundName このクラスは複合名を表します。
InitialContext このクラスは、ネーミング操作を実行するための開始コンテキストです。
LinkRef このクラスは参照を表します。
NameClassPair このクラスは、コンテキストのバインディングのオブジェクト名とクラス名のペアを表します。
RefAddr このクラスは通信端点のアドレスを表します。
Reference このクラスは、ネーミングおよびディレクトリシステムの外部で検出されるオブジェクトに対する参照を表します。
StringRefAddr このクラスは、通信端点のアドレスを文字列形式で表します。
 

例外の概要
AuthenticationException この例外は、ネーミングサービスまたはディレクトリサービスにアクセスする際に認証エラーが発生した場合にスローされます。
AuthenticationNotSupportedException この例外は、要求された認証の特定のフレーバがサポートされていない場合にスローされます。
CannotProceedException この例外は、オペレーションをこれ以上進められない名前のポイントにオペレーションが達したことを示すためにスローされます。
CommunicationException この例外は、クライアントがディレクトリサービスまたはネーミングサービスと通信できない場合にスローされます。
ConfigurationException この例外は、構成上の問題がある場合にスローされます。
ContextNotEmptyException この例外は、空ではないコンテキストを破棄しようとした場合にスローされます。
InsufficientResourcesException この例外は、要求されたオペレーションを完了するためにリソースが利用できない場合にスローされます。
InterruptedNamingException この例外は、ネーミング操作の呼び出しが割り込まれた場合にスローされます。
InvalidNameException この例外は、指定された名前がネーミングシステムのネーミング構文と一致しないことを示します。
LimitExceededException この例外は、ユーザーまたはシステムで指定された制限によってメソッドが異常終了した場合にスローされます。
LinkException この例外は、リンクの解決中に見つかった問題を説明するために使用されます。
LinkLoopException この例外は、リンクを解決しようとしてループが検出されたとき、またはリンクカウントの固有の実装で制限に達したときにスローされます。
MalformedLinkException この例外は、リンクを解決または構築するときに無効なリンクが見つかった場合にスローされます。
NameAlreadyBoundException この例外は、名前がすでに他のオブジェクトにバインドされているために、バインディングを追加できないことを示すメソッドによってスローされます。
NameNotFoundException この例外は、バインドされていないために、名前のコンポーネントを解決できない場合にスローされます。
NamingException Context および DirContext インタフェースでの操作によってスローされるすべての例外のスーパークラスです。
NamingSecurityException Context および DirContext インタフェースでの操作によってスローされるセキュリティーに関連する例外のスーパークラスです。
NoInitialContextException この例外は、初期コンテキスト実装が作成できない場合にスローされます。
NoPermissionException この例外は、クライアントがアクセス権をもたない操作を実行しようとするとスローされます。
NotContextException ネーミング操作を継続するためにコンテキストが必要な地点で、解決されたオブジェクトがコンテキストではない場合に、この例外はスローされます。
OperationNotSupportedException コンテキスト実装が呼び出された操作をサポートしない場合に、この例外はスローされます。
PartialResultException この例外は、現在返されている結果、またはこれまでに返された結果が部分的であること、および操作が完了できないことを示すためにスローされます。
ReferralException この abstract クラスは、LDAP v3 サーバーによって返される場合などの参照に応答して生成される参照例外を表すのに使用されます。
ServiceUnavailableException この例外は、ディレクトリサービスまたはネームサービスとの通信を試みた結果、そのサービスが利用できない場合にスローされます。
SizeLimitExceededException この例外は、メソッドがサイズ関連の制限を超える結果を生成した場合にスローされます。
TimeLimitExceededException この例外は、メソッドが指定された制限時間内に終了しない場合にスローされます。
 

パッケージ javax.naming の説明

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

このパッケージは、Java Naming and Directory InterfaceTM (JNDI) のネーミング操作を定義します。JNDI は Java プログラミング言語で作成されたアプリケーションにネーミング機能およびディレクトリ機能を提供します。JNDI は、特定のネーミングまたはディレクトリサービス実装から独立して設計されています。このため、新しいサービスおよびすでに配置されている様々なサービスに、共通の方法でアクセスできます。

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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。