|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface NotificationBroadcaster
由发出 Notifications 的 MBean 实现的接口。它允许某个侦听器在该 MBean 中注册为通知侦听器。
MBean 发出通知时,它会考虑每个已经使用 addNotificationListener
添加、且之后没有使用 removeNotificationListener
移除的侦听器。如果该侦听器同时提供一个过滤器,且过滤器的 isNotificationEnabled
方法返回 false,则忽略该侦听器。否则,将利用通知调用侦听器的 handleNotification
方法,同时向 addNotificationListener
提供 handback 对象。
如果多次添加同一个侦听器,则认为该侦听器被添加的次数等于实际被添加的次数。在添加相同的侦听器的同时使用不同的过滤器或 handback 对象常常很有用。
根据调用过滤器和侦听器方法的线程,此接口的实现可能有所不同。
如果过滤器或侦听器的方法调用抛出 Exception
,则该异常不应该阻止调用其他侦听器。但是,如果方法调用抛出 Error
,则建议在此处停止对通知的处理,如果 Error
可以传播到通知的发送方,则更应该这样做。
新的代码应该使用 NotificationEmitter
接口。
应该注意保持此接口的实现与 NotificationEmitter
的实现之间同步。需要特别指出的是,让某个实现在调用侦听器时持有锁不是一个好主意。侦听器列表在调度通知时可能发生更改,处理这种可能性的一个好的策略是对列表使用 CopyOnWriteArrayList
。
方法摘要 | |
---|---|
void |
addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) 在此 MBean 中添加一个侦听器。 |
MBeanNotificationInfo[] |
getNotificationInfo() 返回一个数组,指示此 MBean 可能发送的每个通知的 Java 类名和通知类型。 |
void |
removeNotificationListener(NotificationListener listener) 从此 MBean 移除一个侦听器。 |
方法详细信息 |
---|
void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws IllegalArgumentException
listener
- 将处理广播者发出的通知的侦听器对象。
filter
- 过滤器对象。如果 filter 为 null,则处理通知前不执行过滤。
handback
- 发出通知时要发送回侦听器的不透明对象。Notification 广播者对象不能使用此对象。应该将通知不作更改地重新发送到侦听器。
IllegalArgumentException
- 如果 Listener 参数为 null。
removeNotificationListener(javax.management.NotificationListener)
void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
listener
- 以前添加到此 MBean 中的侦听器。
ListenerNotFoundException
- 如果没有在 MBean 中注册该侦听器。
addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
,
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
MBeanNotificationInfo[] getNotificationInfo()
返回一个数组,指示此 MBean 可能发送的每个通知的 Java 类名和通知类型。
MBean 发送此数组中未描述的通知是合法的。但是,某些 MBean 服务器的客户端要想正常运行,可能要依赖完整的数组。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。