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.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 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 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.
|
| 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 String REGISTRATION_NOTIFICATION
public static final String UNREGISTRATION_NOTIFICATION
public MBeanServerNotification(String type, 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 ObjectName getMBeanName()
public String toString()
NotificationtoString in class Notification Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.