Class MBeanServerNotification
- All Implemented Interfaces:
Serializable
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:
- Its notification type is
"JMX.mbean.registered.group"or"JMX.mbean.unregistered.group", which can also be writtenREGISTRATION_NOTIFICATION+ ".group"orUNREGISTRATION_NOTIFICATION+ ".group". - Its MBean name is an ObjectName pattern that selects the set (or a superset) of the MBeans being registered or unregistered
- Its user data can optionally be set to an array of ObjectNames containing the names of all MBeans being registered or unregistered.
MBeans which emit these group registration/unregistration notifications will
declare them in their MBeanNotificationInfo.
- Since:
- 1.5
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringNotification type denoting that an MBean has been registered.static final StringNotification type denoting that an MBean has been unregistered.Fields inherited from class Notification
source -
Constructor Summary
ConstructorsConstructorDescriptionMBeanServerNotification(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. -
Method Summary
Modifier and TypeMethodDescriptionReturns the object name of the MBean that caused the notification.toString()Returns a String representation of this notification.Methods inherited from class Notification
getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserDataMethods inherited from class EventObject
getSource
-
Field Details
-
REGISTRATION_NOTIFICATION
Notification type denoting that an MBean has been registered. Value is "JMX.mbean.registered".- See Also:
-
UNREGISTRATION_NOTIFICATION
Notification type denoting that an MBean has been unregistered. Value is "JMX.mbean.unregistered".- See Also:
-
-
Constructor Details
-
MBeanServerNotification
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 Details
-
getMBeanName
Returns the object name of the MBean that caused the notification.- Returns:
- the object name of the MBean that caused the notification.
-
toString
Description copied from class:NotificationReturns a String representation of this notification.- Overrides:
toStringin classNotification- Returns:
- A String representation of this notification.
-