|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.management.NotificationBroadcasterSupport
public class NotificationBroadcasterSupport
提供 NotificationEmitter 接口的实现。这可以用作发送通知的 MBean 的超类。
并未指定通知调度模型是同步的还是异步的。也就是说,当某些线程调用 sendNotification 时,可以在该线程内调用每个侦听器的 NotificationListener.handleNotification 方法(同步模型),也可以在某个其他线程内调用这些方法(异步模型)。
应用程序不应依赖于通知调度是同步的还是异步的。因此:
sendNotification 方法返回时,并不保证已调用每个侦听器的 handleNotification 方法。也不保证侦听器将以生成通知的相同顺序看到这些通知。依赖于通知顺序的侦听器应该使用这些通知的序列号来确定其顺序(请参见 Notification.getSequenceNumber())。
sendNotification 的调用方。
| 构造方法摘要 | |
|---|---|
NotificationBroadcasterSupport()
|
|
| 方法摘要 | |
|---|---|
void |
addNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
添加一个侦听器。 |
MBeanNotificationInfo[] |
getNotificationInfo()
返回一个数组,指示此 MBean 可能发送的每个通知的 Java 类名和通知类型。 |
protected void |
handleNotification(NotificationListener listener,
Notification notif,
Object handback)
为了向侦听器发送通知,由该侦听器的 sendNotification 调用此方法。 |
void |
removeNotificationListener(NotificationListener listener)
从此 MBean 移除一个侦听器。 |
void |
removeNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
从此 MBean 中移除一个侦听器。 |
void |
sendNotification(Notification notification)
发送一个通知。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
public NotificationBroadcasterSupport()
| 方法详细信息 |
|---|
public void addNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
NotificationBroadcaster 中的 addNotificationListenerlistener - 要接收通知的侦听器。filter - 过滤器对象。如果 filter 为 null,则处理通知前不执行过滤。handback - 发出通知时要发送到侦听器的不透明对象。Notifica+ion 广播者对象不能使用此对象。应该不作更改并带有通知的情况下将其重新发送到侦听器。
IllegalArgumentException - 如果 listener 为 null。removeNotificationListener(javax.management.NotificationListener)
public void removeNotificationListener(NotificationListener listener)
throws ListenerNotFoundException
NotificationBroadcaster 复制的描述
NotificationBroadcaster 中的 removeNotificationListenerlistener - 以前添加到此 MBean 的侦听器。
ListenerNotFoundException - 如果该侦听器未向 MBean 注册。NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object),
NotificationEmitter.removeNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)
public void removeNotificationListener(NotificationListener listener,
NotificationFilter filter,
Object handback)
throws ListenerNotFoundException
NotificationEmitter 复制的描述从此 MBean 中移除一个侦听器。该 MBean 必须有一个与给定 listener、filter 和 handback 参数完全相符的侦听器。如果有多个此种侦听器,则只移除一个。
当且仅当 filter 和 handback 在要移除的侦听器中为 null 时,这两个参数才可以为 null。
NotificationEmitter 中的 removeNotificationListenerlistener - 以前添加到此 MBean 的侦听器。filter - 添加侦听器时所指定的过滤器。handback - 添加侦听器时所指定的回调。
ListenerNotFoundException - 如果侦听器未向该 MBean 注册,或者没有用给定的过滤器和回调注册它。public MBeanNotificationInfo[] getNotificationInfo()
NotificationBroadcaster 复制的描述返回一个数组,指示此 MBean 可能发送的每个通知的 Java 类名和通知类型。
MBean 发送此数组中未描述的通知是合法的。但是,某些 MBean 服务器的客户端要想正常运行,可能要依赖于完整的数组。
NotificationBroadcaster 中的 getNotificationInfopublic void sendNotification(Notification notification)
notification - 要发送的通知。
protected void handleNotification(NotificationListener listener,
Notification notif,
Object handback)
为了向侦听器发送通知,由该侦听器的 sendNotification 调用此方法。在子类中可重写此方法,以更改通知传递的行为,例如在一个单独的线程中传递该通知。
并不保证调用此方法的线程就是调用 sendNotification 的线程。
此方法的默认实现等效于
listener.handleNotification(notif, handback);
listener - 将通知传递到的侦听器。notif - 向侦听器所传递的通知。handback - 添加侦听器时所提供的回调对象。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。