-  
       
- All Superinterfaces:
 -  
         
NotificationBroadcaster 
- 所有已知实现类:
 -  
         
CounterMonitor,GaugeMonitor,JMXConnectorServer,MBeanServerDelegate,Monitor,NotificationBroadcasterSupport,RelationService,RequiredModelMBean,RMIConnectorServer,StandardEmitterMBean,StringMonitor,Timer 
public interface NotificationEmitter extends NotificationBroadcaster
由发出通知的MBean实现的接口。 它允许监听器作为通知监听器注册到MBean。
通知发送
当MBean发出通知时,它会将已添加的每个监听器考虑为
addNotificationListener,而不是随后用removeNotificationListener删除。 如果为该监听器提供过滤器,并且如果过滤器的isNotificationEnabled方法返回false,则忽略监听器。 否则,将使用通知调用监听器的handleNotification方法,以及提供给addNotificationListener对象。如果同一个监听器被多次添加,它被认为是添加的次数。 通过不同的过滤器或回传对象添加相同的监听器通常很有用。
关于调用过滤器和侦听器的方法的线程,此接口的实现可能会有所不同。
如果过滤器或监听器的方法调用抛出一个
异常,则该异常不应阻止其他侦听器被调用。 但是,如果方法调用抛出一个Error,那么建议在该点处理通知停止,如果可以将Error传播给通知的发件人,那么应该这样做。该接口应该被新的代码使用,优先于
NotificationBroadcaster接口。该接口和
NotificationBroadcaster应该小心同步。 特别地,实现该方法在调用监听器时保持任何锁定并不是一个好主意。 要处理在发送通知时听众列表可能更改的可能性,一个好的策略是使用CopyOnWriteArrayList作为此列表。- 从以下版本开始:
 - 1.5
 
 
-  
        
       
-  
             
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 voidremoveNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback)从这个MBean中删除一个监听器。-  
               
Methods inherited from interface javax.management.NotificationBroadcaster
addNotificationListener, getNotificationInfo, removeNotificationListener 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
removeNotificationListener
void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
从这个MBean中删除一个监听器。 该MBean必须有一个与给定匹配的侦听
listener,filter,并handback参数。 如果有多个这样的听众,只有一个被删除。filter和handback参数可能为null,当且仅当它们在要删除的侦听器中为空时。- 参数
 -  
              
listener- 以前添加到此MBean的侦听器。 -  
              
filter- 添加侦听器时指定的过滤器。 -  
              
handback- 添加侦听器时指定的handback。 - 异常
 -  
              
ListenerNotFoundException- 侦听器未注册到MBean,或者没有向给定的过滤器和回传注册。 
 
 -  
 
 -