java.lang.Object
java.util.EventObject
javax.management.Notification
javax.management.MBeanServerNotification
- 所有已实现的接口:
Serializable
表示 MBean Server 通过 MBeanServerDelegate MBean 发出的通知。 MBean Server 发出以下类型的通知:MBean 注册、MBean 注销。
要接收 MBeanServerNotifications,您需要向代表 MBeanServer 的 MBeanServerDelegate
MBean 注册一个监听器。 MBeanServerDelegate 的 ObjectName 是 MBeanServerDelegate.DELEGATE_NAME
,即 JMImplementation:type=MBeanServerDelegate
。
每次在 MBean Server mbeanServer
中注册或取消注册 MBean 时,以下代码都会打印一条消息:
private static final NotificationListener printListener = new NotificationListener() { public void handleNotification(Notification n, Object handback) { if (!(n instanceof MBeanServerNotification)) { System.out.println("Ignored notification of class " + n.getClass().getName()); return; } MBeanServerNotification mbsn = (MBeanServerNotification) n; String what; if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION)) what = "MBean registered"; else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) what = "MBean unregistered"; else what = "Unknown type " + n.getType(); System.out.println("Received MBean Server notification: " + what + ": " + mbsn.getMBeanName()); } }; ... mbeanServer.addNotificationListener( MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);
不是 MBeanServerDelegate
的 MBean 也可能发出 MBeanServerNotifications。特别是,MBean 有一个为一组 MBean 发出 MBeanServerNotification 的约定。
为指示一组 MBean 的注册或注销而发出的 MBeanServerNotification 具有以下特征:
- 它的通知类型是
"JMX.mbean.registered.group"
或"JMX.mbean.unregistered.group"
,也可以写成REGISTRATION_NOTIFICATION
+ ".group"
或UNREGISTRATION_NOTIFICATION
+ ".group"
。 - 它的 MBean 名称 是一个 ObjectName 模式,它选择正在注册或未注册的 MBean 的集合(或超集)
- 它的 用户数据 可以选择性地设置为一个 ObjectNames 数组,其中包含所有正在注册或未注册的 MBean 的名称。
发出这些组注册/注销通知的 MBean 将在它们的 MBeanNotificationInfo
中声明它们。
- 自从:
- 1.5
- 参见:
-
字段摘要
字段在类 javax.management.Notification 中声明的字段
source
-
构造方法总结
构造方法构造方法描述MBeanServerNotification
(String type, Object source, long sequenceNumber, ObjectName objectName) 创建一个 MBeanServerNotification 对象,指定引起通知的 MBean 的对象名称和指定的通知类型。 -
方法总结
在类 javax.management.Notification 中声明的方法
getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserData, toString
在类 java.util.EventObject 中声明的方法
getSource
-
字段详细信息
-
REGISTRATION_NOTIFICATION
表示 MBean 已注册的通知类型。值为“JMX.mbean.registered”。- 参见:
-
UNREGISTRATION_NOTIFICATION
表示 MBean 已注销的通知类型。值为“JMX.mbean.unregistered”。- 参见:
-
-
构造方法详细信息
-
MBeanServerNotification
public MBeanServerNotification(String type, Object source, long sequenceNumber, ObjectName objectName) 创建一个 MBeanServerNotification 对象,指定引起通知的 MBean 的对象名称和指定的通知类型。- 参数:
type
- 表示通知类型的字符串。将其设置为以下值之一:REGISTRATION_NOTIFICATION
、UNREGISTRATION_NOTIFICATION
。source
- 负责转发 MBean 服务通知的 MBeanServerNotification 对象。sequenceNumber
- 可用于对收到的通知进行排序的序列号。objectName
- 导致通知的 MBean 的对象名称。
-
-
方法详情
-
getMBeanName
返回引起通知的 MBean 的对象名称。- 返回:
- 引起通知的 MBean 的对象名称。
-