<div> JavaScript is disabled on your browser.
Skip navigation links
Java™ Platform
Standard Ed. 8

Package javax.naming.event

在访问命名和目录服务时提供事件通知的支持。

See: 描述

Package javax.naming.event Description

在访问命名和目录服务时提供事件通知的支持。

此包定义了事件通知操作的java命名和目录interfaceTM(JNDI)。 JNDI提供命名和目录的功能,用java编程语言编写的应用程序。它被设计为独立于任何特定的命名或目录服务实现。因此,各种各样的服务-新的,新兴的,已经部署的-可以以一种常见的方式进行访问。

命名事件

此包定义为代表一个事件,由命名目录服务产生的NamingEvent类。它还定义了ContextDirContext子接口,称为EventContextEventDirContext,通过应用可以登记在事件的背景发射的兴趣。

NamingEvent表示一个事件发生在一个命名和目录服务。有两类命名事件:

每类事件是由相应的监听器处理: NamespaceChangeListenerObjectChangeListener

例如,一个应用程序可以将它的兴趣在上下文中的对象更改为如下:

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());
    }
}

线程问题

当事件被派遣到一个听众,听众的方法(如 objectChanged())可能比其他人在其中调用 addNamingListener()执行一个线程执行。使用的线程的选择是由服务提供程序所使用的。当一个事件被发送给多个侦听器时,服务提供商可以选择(通常是鼓励)在单独的线程中执行侦听器方法。

当一个监听器实例调用NamingEvent.getEventContext(),必须考虑它的可能性,其他线程将与语境的同时。同样,当听者是通过addNamingListener()注册,注册的线程必须考虑服务提供商将在新创建的线程调用侦听器的可能性。作为Context实例不保证在总体上是线程安全的,所有上下文操作必须同步的需要。

异常处理

当听者寄存器与上下文语境的事件,可能需要做一些内部处理以收集所需的生成事件信息。例如,上下文可能需要向服务器提出请求,以便将最终将被转换为事件的服务器上的更改注册的兴趣注册到服务器上。如果一个异常发生,防止被收集的事件的信息,侦听器将永远不会被通知的事件。当异常发生时,一个 NamingExceptionEvent解雇通知监听器。听众的 namingExceptionThrown()方法被调用,如上面的示例代码所示,和听众自动注销。

包装规格

JNDI API规范和相关文件,可以在 JNDI documentation发现。
从以下版本开始:
1.3
Skip navigation links
Java™ Platform
Standard Ed. 8

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.

本帮助文档是使用 《百度翻译》翻译,请与英文版配合使用 by--QQ:654638585