- java.lang.Object
-
- java.util.EventObject
-
- javax.management.Notification
-
- javax.management.MBeanServerNotification
-
- All Implemented Interfaces:
-
Serializable
public class MBeanServerNotification extends Notification
表示MBean服务器通过MBeanServerDelegate MBean发出的通知。 MBean服务器发出以下类型的通知:MBean注册,MBean注销。要接收MBeanServerNotifications,您需要注册一个代表MBeanServer的
MBeanServerDelegate
MBean的监听器。 MBeanServerDelegate的ObjectName为MBeanServerDelegate.DELEGATE_NAME
,为JMImplementation:type=MBeanServerDelegate
。以下代码每次在MBean服务器
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。发布的MBeanServerNotification表示一组MBean的注册或注销具有以下特征:
- 其notification type是
"JMX.mbean.registered.group"
或"JMX.mbean.unregistered.group"
,其也可以写成REGISTRATION_NOTIFICATION
+ ".group"
或UNREGISTRATION_NOTIFICATION
+ ".group"
。 - 它的MBean name是一个ObjectName模式,用于选择正在注册或未注册的MBean的集合(或超集)
- 其user data可以可选地设置为ObjectName的数组,其中包含正在注册或未注册的所有MBean的名称。
排放这些团体注册/注销通知的MBean将在其
MBeanNotificationInfo
中声明。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static String
REGISTRATION_NOTIFICATION
通知类型表示MBean已被注册。static String
UNREGISTRATION_NOTIFICATION
通知类型表示MBean已被注销。-
Fields inherited from class javax.management.Notification
source
-
-
构造方法摘要
构造方法 Constructor 描述 MBeanServerNotification(String type, Object source, long sequenceNumber, ObjectName objectName)
创建一个MBeanServerNotification对象,指定导致通知的MBean的对象名称和指定的通知类型。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ObjectName
getMBeanName()
返回导致通知的MBean的对象名称。String
toString()
返回此通知的String表示形式。-
Methods inherited from class java.util.EventObject
getSource
-
Methods inherited from class javax.management.Notification
getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserData
-
-
-
-
字段详细信息
-
REGISTRATION_NOTIFICATION
public static final String REGISTRATION_NOTIFICATION
通知类型表示MBean已被注册。 值为“JMX.mbean.registered”。- 另请参见:
- Constant Field Values
-
UNREGISTRATION_NOTIFICATION
public static final String UNREGISTRATION_NOTIFICATION
通知类型表示MBean已被注销。 值为“JMX.mbean.unregistered”。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
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
public ObjectName getMBeanName()
返回导致通知的MBean的对象名称。- 结果
- 造成通知的MBean的对象名称。
-
toString
public String toString()
描述从类复制:Notification
返回此通知的String表示形式。- 重写:
-
toString
在Notification
- 结果
- 此通知的字符串表示形式。
-
-