|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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 移除一个侦听器。如果已向不同的回调对象或通知过滤器注册了该侦听器,则移除与该侦听器有关的所有项。
-
- 参数:
-
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 必须有一个与给定
listener
、filter
和handback
参数完全相符的侦听器。如果有多个此种侦听器,则只移除一个。当且仅当
filter
和handback
在要移除的侦听器中为 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
- 添加侦听器时所提供的回调对象。
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |