模块  java.management
软件包  javax.management

Class MBeanServerNotification

  • 实现的所有接口
    Serializable

    public class MBeanServerNotification
    extends Notification
    表示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。

    发出的MBeanServerNotification表示注册或取消注册一组MBean具有以下特征:

    发出这些组注册/取消注册通知的MBean将在其MBeanNotificationInfo声明它们。

    从以下版本开始:
    1.5
    另请参见:
    Serialized Form
    • 字段详细信息

      • REGISTRATION_NOTIFICATION

        public static final String REGISTRATION_NOTIFICATION
        表示已注册MBean的通知类型。 值为“JMX.mbean.registered”。
        另请参见:
        常数字段值
      • UNREGISTRATION_NOTIFICATION

        public static final String UNREGISTRATION_NOTIFICATION
        表示MBean已取消注册的通知类型。 值为“JMX.mbean.unregistered”。
        另请参见:
        常数字段值
    • 构造方法详细信息

      • MBeanServerNotification

        public MBeanServerNotification​(String type,
                                       Object source,
                                       long sequenceNumber,
                                       ObjectName objectName)
        创建MBeanServerNotification对象,指定导致通知的MBean的对象名称和指定的通知类型。
        参数
        type - 表示通知类型的字符串。 将它设置为一个这些值: REGISTRATION_NOTIFICATIONUNREGISTRATION_NOTIFICATION
        source - 负责转发MBean服务器通知的MBeanServerNotification对象。
        sequenceNumber - 可用于订购收到通知的序列号。
        objectName - 导致通知的MBean的对象名称。
    • 方法详细信息

      • getMBeanName

        public ObjectName getMBeanName()
        返回导致通知的MBean的对象名称。
        结果
        the object name of the MBean that caused the notification.