Home » openjdk-7 » javax » management » [javadoc | source]
javax.management
public class: MBeanServerNotification [javadoc | source]
java.lang.Object
   java.util.EventObject
      javax.management.Notification
         javax.management.MBeanServerNotification

All Implemented Interfaces:
    Serializable

Represents a notification emitted by the MBean Server through the MBeanServerDelegate MBean. The MBean Server emits the following types of notifications: MBean registration, MBean unregistration.

To receive MBeanServerNotifications, you need to register a listener with the MBeanServerDelegate MBean that represents the MBeanServer. The ObjectName of the MBeanServerDelegate is MBeanServerDelegate#DELEGATE_NAME , which is JMImplementation:type=MBeanServerDelegate.

The following code prints a message every time an MBean is registered or unregistered in the MBean Server {@code mbeanServer}:

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);

An MBean which is not an MBeanServerDelegate may also emit MBeanServerNotifications. In particular, there is a convention for MBeans to emit an MBeanServerNotification for a group of MBeans.

An MBeanServerNotification emitted to denote the registration or unregistration of a group of MBeans has the following characteristics:

MBeans which emit these group registration/unregistration notifications will declare them in their MBeanNotificationInfo .

Field Summary
public static final  String REGISTRATION_NOTIFICATION    Notification type denoting that an MBean has been registered. Value is "JMX.mbean.registered". 
public static final  String UNREGISTRATION_NOTIFICATION    Notification type denoting that an MBean has been unregistered. Value is "JMX.mbean.unregistered". 
Fields inherited from javax.management.Notification:
source
Fields inherited from java.util.EventObject:
source
Constructor:
 public MBeanServerNotification(String type,
    Object source,
    long sequenceNumber,
    ObjectName objectName) 
    Creates an MBeanServerNotification object specifying object names of the MBeans that caused the notification and the specified notification type.
    Parameters:
    type - A string denoting the type of the notification. Set it to one these values: #REGISTRATION_NOTIFICATION , #UNREGISTRATION_NOTIFICATION .
    source - The MBeanServerNotification object responsible for forwarding MBean server notification.
    sequenceNumber - A sequence number that can be used to order received notifications.
    objectName - The object name of the MBean that caused the notification.
Method from javax.management.MBeanServerNotification Summary:
getMBeanName,   toString
Methods from javax.management.Notification:
getMessage,   getSequenceNumber,   getTimeStamp,   getType,   getUserData,   setSequenceNumber,   setSource,   setTimeStamp,   setUserData,   toString
Methods from java.util.EventObject:
getSource,   toString
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from javax.management.MBeanServerNotification Detail:
 public ObjectName getMBeanName() 
    Returns the object name of the MBean that caused the notification.
 public String toString()