| インタフェース | 説明 | 
|---|---|
| EventContext | コンテキストに指定されたオブジェクトが変更されたときにトリガーされるイベントの通知を受け取る、リスナーの登録/登録解除に関するメソッドを含みます。 | 
| EventDirContext | ディレクトリ・コンテキストに指定されたオブジェクトが変更されたときにトリガーされたイベントの通知を受け取る、リスナーの登録に関するメソッドを含みます。 | 
| NamespaceChangeListener | 名前空間の変更を対象とするリスナーが、実装に必要なメソッドを指定します。 | 
| NamingListener | このインタフェースは、NamingEventを処理するリスナー・インタフェースのルートです。 | 
| ObjectChangeListener | イベント・タイプがOBJECT_CHANGEDであるNamingEventのリスナーが実装する必要のあるメソッドを指定します。 | 
| クラス | 説明 | 
|---|---|
| NamingEvent | このクラスは、ネーム・サービス\/ディレクトリ・サービスでトリガーされたイベントを表します。 | 
| NamingExceptionEvent | このクラスは、リスナーにNamingEventを通知するための情報を収集するために使用される手順/プロセスがNamingExceptionをスローしたときにトリガーされたイベントを表します。 | 
このパッケージは、Java Naming and Directory InterfaceTM (JNDI)のイベント通知操作を定義します。 JNDIは、Javaプログラミング言語で記述されたアプリケーションにネーミングおよびディレクトリ機能を提供します。ほかのネームおよびディレクトリ・サービスの実装と独立して動作するように設計されています。新しいサービス、展開されつつあるサービス、すでに展開されているサービスなど、さまざまなサービスに対して共通の方法でアクセスすることができます。
このパッケージは、ネーミングおよびディレクトリ・サービスで生成されるイベントを表すNamingEventクラスを定義します。EventContextとEventDirContextという、ContextとDirContextのサブインタフェースも定義します。このサブインタフェースを使用して、アプリケーションはコンテキストでトリガーされたイベントにその対象を登録します。
NamingEventとは、ネーミングおよびディレクトリ・サービスで発生するイベントのことです。ネーミング・イベントには次の2種類のカテゴリがあります。
たとえば、アプリケーションの場合、変更する対象を次のようにオブジェクトに登録できます。
EventContext src = 
    (EventContext)(new InitialContext()).lookup("o=wiz,c=us");
src.addNamingListener("ou=users", EventContext.ONELEVEL_SCOPE,
    new ChangeHandler());
...
class ChangeHandler implements ObjectChangeListener {
    public void objectChanged(NamingEvent evt) {
        System.out.println(evt.getNewBinding());
    }
    public void namingExceptionThrown(NamingExceptionEvent evt) {
        System.out.println(evt.getException());
    }
}
リスナー・インスタンスがNamingEvent.getEventContext()を呼び出した場合、ほかのスレッドで並行して同一のコンテキストを処理している可能性を考慮する必要があります。同じように、リスナーがaddNamingListener()を介して登録されるときのスレッドは、サービス・プロバイダが新規に作成したスレッドでリスナーをあとで呼び出す可能性があることを考慮する必要があります。Contextインスタンスは、一般にスレッドに対して安全であることを保証されていないので、すべてのコンテキスト操作は必要に応じて同期化してください。
 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
 Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.