public interface NotificationEmitter extends NotificationBroadcaster
通过MBean实现的接口发出通知。它让听者是MBean作为通知侦听器注册。
当MBean发出通知,它认为每个听众已加入addNotificationListener
不随后删除removeNotificationListener
。如果过滤器提供了听者,如果过滤器的isNotificationEnabled
方法返回false,听众被忽略。否则,听众的handleNotification
方法被调用的通知,以及handback对象提供了addNotificationListener
。
如果同一个侦听器被添加不止一次,它被添加的次数被认为是。它添加不同的过滤器或handback对象相同的听众往往是有益的。
此接口的实现可能会对有关线程的不同,其中的筛选器和侦听器的方法被调用。
如果一个过滤器或听众抛出一个异常
方法调用,那么异常不应该阻止其他听众被调用。然而,如果方法调用抛出一个Error
,然后建议通知停止在这一点上处理,如果它是可能的传播Error
的通知发件人,这是应该做的。
该接口应使用新的代码优先于NotificationBroadcaster
接口。
这个接口和NotificationBroadcaster
实现应该小心同步。特别是,它是不是一个好主意的实现,以保持任何锁,而它调用一个侦听器。应对听众的名单可能会同时通知被派往改变的可能性,一个好的策略是使用一个CopyOnWriteArrayList
此列表。
Modifier and Type | Method and Description |
---|---|
void |
removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)
从这个MBean移除侦听器。
|
addNotificationListener, getNotificationInfo, removeNotificationListener
void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
从这个MBean移除侦听器。MBean必须完全匹配listener
听众了,filter
,和handback
参数。如果有多于一个这样的侦听器,只有一个被删除。
的filter
和handback
参数可以为null,如果他们在听众被删除是空的。
listener
-听者以前添加到这个MBean。
filter
-过滤器,当你添加指定的。
handback
-盖印,指定当听众加入。
ListenerNotFoundException
-听者不是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.