|
J2EE1.4 SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Provides enhanced abilities for working with Notifications. Listens to other MBeans (as configured) and collects the Notifications which can later be retrieved by calling takeNotifications(). The listening is quite powerful; both "listen to" and "don't listen to" ObjectNames or ObjectName patterns may be specified, and are dynamically maintained.
All received Notifications are resent to all listeners on this MBean. This makes it possible to listen to a single MBean for all "interesting" Notifications across many different MBeans, even if these MBeans are dynamically registered and unregistered.
Buffering is also available, via a named buffer facility. Creation of a buffer together with an optional filter allows a caller to buffer Notifications of interest which can later be retrieved as a batch. This facility may be of particular use for clients which disconnect and reconnect.
When a buffer overflows, a notification of type BUFFER_OVERFLOW_NOTIFICATION_TYPE is emitted
Field Summary | |
static java.lang.String |
BUFFER_OVERFLOW_NOTIFICATION_TYPE
When the buffer overflows this Notification is issued. |
static java.lang.String |
J2EE_TYPE
The j2eeType as returned by AMX.getJ2EEType() . |
static java.lang.String |
NEXT_SEQUENCE_NUMBER_KEY
Key within the Map returned by getNotifications() that yields the Long for the next sequence number. |
static java.lang.String |
NOTIFICATIONS_KEY
Key within the Map returned by getNotifications() that yields the Notifications[]. |
static java.lang.String |
OVERFLOWED_NOTIFICATION_KEY
Key for accessing the overwritten Notification with the Notification of type BUFFER_OVERFLOW_NOTIFICATION_TYPE. |
Fields inherited from interface com.sun.appserv.management.base.AMX |
FULL_TYPE_DELIM, GROUP_CONFIGURATION, GROUP_JSR77, GROUP_MONITORING, GROUP_OTHER, GROUP_UTILITY, J2EE_TYPE_KEY, NAME_KEY, NO_NAME, NULL_NAME |
Fields inherited from interface com.sun.appserv.management.base.AMXMBeanLogging |
LOG_RECORD_KEY, LOG_RECORD_NOTIFICATION_TYPE |
Method Summary | |
java.lang.Object |
createBuffer(int bufferSize,
NotificationFilter filter)
Create a new buffer of the specified size. |
void |
dontListenTo(ObjectName objectName)
Stop listening for Notifications on the specified . |
java.util.Map |
getBufferNotifications(java.lang.Object bufferID,
long sequenceNumberIn)
Get all outstanding Notifications which have a sequence number that is equal to or greater than the specified one. |
NotificationFilter |
getFilter(ObjectName objectName)
Get the filter being used for a particular . |
java.util.Set |
getListeneeSet()
Get the MBeans to which this service listens. |
java.lang.Object |
getUserData()
The user data supplied when the instance was created. |
void |
listenTo(ObjectName pattern,
NotificationFilter filter)
Listen for Notifications from an using the specified filter, which may be null, in which case all Notifications are heard. |
void |
removeBuffer(java.lang.Object id)
Remove the specified buffer. |
Methods inherited from interface com.sun.appserv.management.base.AMX |
getContainer, getDomainRoot, getFullType, getGroup, getJ2EEType, getName |
Methods inherited from interface com.sun.appserv.management.base.AMXMBeanLogging |
getMBeanEmitLogNotifications, getMBeanLoggerName, getMBeanLogLevel, setMBeanEmitLogNotifications, setMBeanLogLevel |
Methods inherited from interface javax.management.NotificationEmitter |
removeNotificationListener |
Methods inherited from interface javax.management.NotificationBroadcaster |
addNotificationListener, getNotificationInfo, removeNotificationListener |
Methods inherited from interface javax.management.NotificationListener |
handleNotification |
Field Detail |
public static final java.lang.String J2EE_TYPE
AMX.getJ2EEType()
.
public static final java.lang.String BUFFER_OVERFLOW_NOTIFICATION_TYPE
public static final java.lang.String OVERFLOWED_NOTIFICATION_KEY
public static final java.lang.String NEXT_SEQUENCE_NUMBER_KEY
public static final java.lang.String NOTIFICATIONS_KEY
Method Detail |
public java.lang.Object getUserData()
public void listenTo(ObjectName pattern, NotificationFilter filter) throws InstanceNotFoundException
Note that Notifications may also be manually forced into the service by calling handlingNotification().
pattern
- name of to listen tofilter
-
InstanceNotFoundException
public void dontListenTo(ObjectName objectName) throws InstanceNotFoundException
objectName
- name of which should no longer be listened to.
InstanceNotFoundException
public NotificationFilter getFilter(ObjectName objectName)
objectName
-
public java.lang.Object createBuffer(int bufferSize, NotificationFilter filter)
bufferSize
- maximum number of Notifications to be bufferedfilter
- filter for Notifications to be buffered
public void removeBuffer(java.lang.Object id)
public java.util.Map getBufferNotifications(java.lang.Object bufferID, long sequenceNumberIn)
Notifications are never removed from the buffer; be sure to use the returned sequence number as a means of fetching new Notifications.
The Map is keyed by the following:
public java.util.Set getListeneeSet()
|
J2EE1.4 SDK | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2003 Sun Microsystems, Inc. All rights reserved.