public class MBeanServerNotification extends Notification
To receive MBeanServerNotifications, you need to register a listener with the MBeanServerDelegate MBean that represents the MBeanServer. The ObjectName of the MBeanServerDelegate is MBeanServerDelegate, which is JMImplementation:type=MBeanServerDelegate.
The following code prints a message every time an MBean is registered or unregistered in the MBean Server 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:
"JMX.mbean.registered.group" or "JMX.mbean.unregistered.group", which can also be written REGISTRATION_NOTIFICATION+ ".group" or UNREGISTRATION_NOTIFICATION+ ".group". MBeans which emit these group registration/unregistration notifications will declare them in their MBeanNotificationInfo.
| Modifier and Type | Field and Description |
|---|---|
static String |
REGISTRATION_NOTIFICATION
Notification type denoting that an MBean has been registered.
|
static String |
UNREGISTRATION_NOTIFICATION
Notification type denoting that an MBean has been unregistered.
|
source| Constructor and Description |
|---|
MBeanServerNotification(String
Creates an MBeanServerNotification object specifying object names of the MBeans that caused the notification and the specified notification type.
|
| Modifier and Type | Method and Description |
|---|---|
ObjectName |
getMBeanName()
Returns the object name of the MBean that caused the notification.
|
String |
toString()
Returns a String representation of this notification.
|
getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserDatagetSourcepublic static final StringREGISTRATION_NOTIFICATION
public static final StringUNREGISTRATION_NOTIFICATION
public MBeanServerNotification(Stringtype, Object source, long sequenceNumber, ObjectName objectName)
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.
public ObjectNamegetMBeanName()
public StringtoString()
Notification
toString in class
Notification