public interface NotificationBroadcaster
通过MBean实现的接口发出通知。它让听者是MBean作为通知侦听器注册。
当MBean发出通知,它认为每个听众已加入addNotificationListener不随后删除removeNotificationListener。如果过滤器提供了听者,如果过滤器的isNotificationEnabled方法返回false,听众被忽略。否则,听众的handleNotification方法被调用的通知,以及handback对象提供了addNotificationListener。
如果同一个侦听器被添加不止一次,它被添加的次数被认为是。它添加不同的过滤器或handback对象相同的听众往往是有益的。
此接口的实现可能会对有关线程的不同,其中的筛选器和侦听器的方法被调用。
如果一个过滤器或听众抛出一个异常方法调用,那么异常不应该阻止其他听众被调用。然而,如果方法调用抛出一个Error,然后建议通知停止在这一点上处理,如果它是可能的传播Error的通知发件人,这是应该做的。
新的代码应该使用NotificationEmitter接口代替。
这个接口和NotificationEmitter实现应该小心同步。特别是,它是不是一个好主意的实现,以保持任何锁,而它调用一个侦听器。应对听众的名单可能会同时通知被派往改变的可能性,一个好的策略是使用一个CopyOnWriteArrayList此列表。
| Modifier and Type | Method and Description |
|---|---|
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 -滤波对象。如果过滤器为空,则在处理通知之前没有进行过滤。
handback -一个不透明的物体被送回听者当通知发出。此对象不能被通知广播对象使用。它应该是怨恨与通知的通知不变。
IllegalArgumentException侦听器参数为空。
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服务器的一些客户可能取决于阵列完成其正确运作。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.