Serializable
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 | 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 | 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 | Description |
---|---|---|
ObjectName |
getMBeanName() |
Returns the object name of the MBean that caused the notification.
|
String |
toString() |
Returns a String representation of this notification.
|
getSource
getMessage, getSequenceNumber, getTimeStamp, getType, getUserData, setSequenceNumber, setSource, setTimeStamp, setUserData
public 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()
Notification
toString
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, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps