|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.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
中的 addNotificationListener
listener
- 要接收通知的侦听器。filter
- 过滤器对象。如果 filter 为 null,则处理通知前不执行过滤。handback
- 发出通知时要发送到侦听器的不透明对象。Notifica+ion 广播者对象不能使用此对象。应该不作更改并带有通知的情况下将其重新发送到侦听器。
IllegalArgumentException
- 如果 listener 为 null。removeNotificationListener(javax.management.NotificationListener)
public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
NotificationBroadcaster
复制的描述
NotificationBroadcaster
中的 removeNotificationListener
listener
- 以前添加到此 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
中的 removeNotificationListener
listener
- 以前添加到此 MBean 的侦听器。filter
- 添加侦听器时所指定的过滤器。handback
- 添加侦听器时所指定的回调。
ListenerNotFoundException
- 如果侦听器未向该 MBean 注册,或者没有用给定的过滤器和回调注册它。public MBeanNotificationInfo[] getNotificationInfo()
NotificationBroadcaster
复制的描述返回一个数组,指示此 MBean 可能发送的每个通知的 Java 类名和通知类型。
MBean 发送此数组中未描述的通知是合法的。但是,某些 MBean 服务器的客户端要想正常运行,可能要依赖于完整的数组。
NotificationBroadcaster
中的 getNotificationInfo
public 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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。