com.sun.jmx.remote.opt.internal
Class ArrayNotificationBuffer

java.lang.Object
  extended by com.sun.jmx.remote.opt.internal.ArrayNotificationBuffer
All Implemented Interfaces:
NotificationBuffer

public class ArrayNotificationBuffer
extends Object
implements NotificationBuffer

A circular buffer of notifications received from an MBean server.


Method Summary
 void dispose()
          Discard this buffer.
 NotificationResult fetchNotifications(Set listeners, long startSequenceNumber, long timeout, int maxNotifications)
          Fetch notifications that match the given listeners.
static NotificationBuffer getNotificationBuffer(MBeanServer mbs, Map env)
           
static void removeNotificationBuffer(MBeanServer mbs)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getNotificationBuffer

public static NotificationBuffer getNotificationBuffer(MBeanServer mbs,
                                                       Map env)

removeNotificationBuffer

public static void removeNotificationBuffer(MBeanServer mbs)

dispose

public void dispose()
Description copied from interface: NotificationBuffer

Discard this buffer.

Specified by:
dispose in interface NotificationBuffer

fetchNotifications

public NotificationResult fetchNotifications(Set listeners,
                                             long startSequenceNumber,
                                             long timeout,
                                             int maxNotifications)
                                      throws InterruptedException

Fetch notifications that match the given listeners.

The operation only considers notifications with a sequence number at least startSequenceNumber. It will take no longer than timeout, and will return no more than maxNotifications different notifications.

If there are no notifications matching the criteria, the operation will block until one arrives, subject to the timeout.

Specified by:
fetchNotifications in interface NotificationBuffer
Parameters:
listeners - a Set of ListenerInfo that reflects the filters to be applied to notifications. Accesses to this Set are synchronized on the Set object. The Set is consulted for selected notifications that are present when the method starts, and for selected notifications that arrive while it is executing. The contents of the Set can be modified, with appropriate synchronization, while the method is running.
startSequenceNumber - the first sequence number to consider.
timeout - the maximum time to wait. May be 0 to indicate not to wait if there are no notifications.
maxNotifications - the maximum number of notifications to return. May be 0 to indicate a wait for eligible notifications that will return a usable nextSequenceNumber. The TargetedNotification array in the returned NotificationResult may contain more than this number of elements but will not contain more than this number of different notifications.
Throws:
InterruptedException


Copyright © 2014 Terracotta, Inc.. All rights reserved.