接口 | 描述 |
---|---|
EventContext |
包含用于注册/注销侦听器的方法,以通知在上下文中命名的对象发生变化时触发的事件。
|
EventDirContext |
包含用于注册侦听器的方法,以便在目录上下文中指定的对象更改时触发的事件被通知。
|
NamespaceChangeListener |
指定对名称空间更改感兴趣的侦听器必须实现的方法。
|
NamingListener |
该接口是处理
NamingEvent的侦听器接口的根。
|
ObjectChangeListener |
指定一个
NamingEvent的与
OBJECT_CHANGED事件类型的侦听器必须实现的方法。
|
类 | 描述 |
---|---|
NamingEvent |
此类表示由命名/目录服务触发的事件。
|
NamingExceptionEvent |
此类表示烧制时用于收集信息通知的
NamingEvent小号听众的程序/进程抛出
NamingException的事件。
|
该包定义了Java命名和目录接口TM (JNDI)的事件通知操作。 JNDI为以Java编程语言编写的应用程序提供命名和目录功能。 它被设计为独立于任何特定的命名或目录服务实现。 因此,可以以一种常见的方式访问各种服务 - 新的,新兴的和已经部署的服务。
此包定义了一个NamingEvent类来表示由命名/目录服务生成的事件。 它还定义了Context和DirContext的子接口 ,称为EventContext和EventDirContext ,通过该子接口 ,应用程序可以注册他们对上下文触发的事件的兴趣。
NamingEvent表示发生在命名或目录服务中的事件。 命名事件有两类:
例如,应用程序可以在上下文中注册对对象更改的兴趣,如下所示:
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实例通常不能保证是线程安全的,因此必须根据需要同步所有上下文操作。