java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.management
类 NotificationBroadcasterSupport

java.lang.Object
  继承者 javax.management.NotificationBroadcasterSupport
所有已实现的接口:
NotificationBroadcaster, NotificationEmitter
直接已知子类:
JMXConnectorServer, Monitor, RelationService, Timer

public class NotificationBroadcasterSupport
extends Object
implements NotificationEmitter

提供 NotificationEmitter 接口的实现。这可以用作发送通知的 MBean 的超类。

并未指定通知调度模型是同步的还是异步的。也就是说,当某些线程调用 sendNotification 时,可以在该线程内调用每个侦听器的 NotificationListener.handleNotification 方法(同步模型),也可以在某个其他线程内调用这些方法(异步模型)。

应用程序不应依赖于通知调度是同步的还是异步的。因此:

  • 应用程序不应假定使用的是同步模型。sendNotification 方法返回时,并不保证已调用每个侦听器的 handleNotification 方法。也不保证侦听器将以生成通知的相同顺序看到这些通知。依赖于通知顺序的侦听器应该使用这些通知的序列号来确定其顺序(请参见 Notification.getSequenceNumber())。
  • 应用程序不应假定使用的是异步模型。如果侦听器执行的操作可能较慢,则该侦听器应该安排在另一个线程中执行这些操作,以避免阻挡其他侦听器和 sendNotification 的调用方。

从以下版本开始:
1.5

构造方法摘要
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
 

构造方法详细信息

NotificationBroadcasterSupport

public NotificationBroadcasterSupport()
方法详细信息

addNotificationListener

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)

removeNotificationListener

public void removeNotificationListener(NotificationListener listener)
                                throws ListenerNotFoundException
从接口 NotificationBroadcaster 复制的描述
从此 MBean 移除一个侦听器。如果已向不同的回调对象或通知过滤器注册了该侦听器,则移除与该侦听器有关的所有项。

指定者:
接口 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)

removeNotificationListener

public void removeNotificationListener(NotificationListener listener,
                                       NotificationFilter filter,
                                       Object handback)
                                throws ListenerNotFoundException
从接口 NotificationEmitter 复制的描述

从此 MBean 中移除一个侦听器。该 MBean 必须有一个与给定 listenerfilterhandback 参数完全相符的侦听器。如果有多个此种侦听器,则只移除一个。

当且仅当 filterhandback 在要移除的侦听器中为 null 时,这两个参数才可以为 null。

指定者:
接口 NotificationEmitter 中的 removeNotificationListener
参数:
listener - 以前添加到此 MBean 的侦听器。
filter - 添加侦听器时所指定的过滤器。
handback - 添加侦听器时所指定的回调。
抛出:
ListenerNotFoundException - 如果侦听器未向该 MBean 注册,或者没有用给定的过滤器和回调注册它。

getNotificationInfo

public MBeanNotificationInfo[] getNotificationInfo()
从接口 NotificationBroadcaster 复制的描述

返回一个数组,指示此 MBean 可能发送的每个通知的 Java 类名和通知类型。

MBean 发送此数组中未描述的通知是合法的。但是,某些 MBean 服务器的客户端要想正常运行,可能要依赖于完整的数组。

指定者:
接口 NotificationBroadcaster 中的 getNotificationInfo
返回:
可能的通知数组。

sendNotification

public void sendNotification(Notification notification)
发送一个通知。

参数:
notification - 要发送的通知。

handleNotification

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

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策