|
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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。