Module  java.management
软件包  javax.management

Class 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的注册或注销具有以下特征:

    排放这些团体注册/注销通知的MBean将在其MBeanNotificationInfo声明。

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

      • 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_NOTIFICATIONUNREGISTRATION_NOTIFICATION
        source - 负责转发MBean服务器通知的MBeanServerNotification对象。
        sequenceNumber - 可用于订购接收到的通知的序列号。
        objectName - 导致通知的MBean的对象名称。
    • 方法详细信息

      • getMBeanName

        public ObjectName getMBeanName​()
        返回导致通知的MBean的对象名称。
        结果
        造成通知的MBean的对象名称。
      • toString

        public String toString​()
        描述从类复制: Notification
        返回此通知的String表示形式。
        重写:
        toStringNotification
        结果
        此通知的字符串表示形式。