Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.hq.zevents
Class ZeventManager

java.lang.Object
  extended by org.hyperic.hq.zevents.ZeventManager
All Implemented Interfaces:
ZeventEnqueuer

public class ZeventManager
extends java.lang.Object
implements ZeventEnqueuer

The Zevent subsystem is an event system for fast, non-reliable transmission of events. Important data should not be transmitted on this bus, since it is not persisted, and there is never any guarantee of receipt. This manager provides no transactional guarantees, so the caller must rollback additions of listeners if the transaction fails.


Method Summary
 boolean addBufferedGlobalListener(ZeventListener listener)
           
 ZeventListener addBufferedListener(java.lang.Class eventClass, ZeventListener listener)
           
 ZeventListener addBufferedListener(java.util.Set eventClasses, ZeventListener listener)
          Add a buffered listener for event types.
 boolean addGlobalListener(ZeventListener listener)
          Add an event listener which is called for every event type which comes through the queue.
 boolean addListener(java.lang.Class eventClass, ZeventListener listener)
          Add a listener for a specific type of event.
 void enqueueEvent(Zevent event)
          Enqueues an Zevent for processing
 void enqueueEventAfterCommit(Zevent event)
           
 void enqueueEvents(java.util.List events)
          Enqueue events onto the event queue.
 void enqueueEventsAfterCommit(java.util.List inEvents)
          Enqueue events if the current running transaction successfully commits.
static ZeventManager getInstance()
           
 long getMaxTimeInQueue()
           
 long getQueueSize()
           
 long getZeventsProcessed()
           
 boolean registerEventClass(java.lang.Class eventClass)
          Register an event class.
 boolean removeGlobalListener(ZeventListener listener)
          Remove a global event listener
 boolean removeListener(java.lang.Class eventClass, ZeventListener listener)
          Remove a specific event type listener.
 void shutdown()
           
 boolean unregisterEventClass(java.lang.Class eventClass)
          Unregister an event class
 void waitUntilNoEvents()
          Wait until the queue is empty.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getQueueSize

public long getQueueSize()

shutdown

public void shutdown()
              throws java.lang.InterruptedException
Throws:
java.lang.InterruptedException

getMaxTimeInQueue

public long getMaxTimeInQueue()

getZeventsProcessed

public long getZeventsProcessed()

registerEventClass

public boolean registerEventClass(java.lang.Class eventClass)
Register an event class. These classes must be registered prior to attempting to listen to individual event types.

Parameters:
eventClass - a subclass of Zevent
Returns:
false if the eventClass was already registered

unregisterEventClass

public boolean unregisterEventClass(java.lang.Class eventClass)
Unregister an event class

Parameters:
eventClass - subclass of Zevent
Returns:
false if the eventClass was not registered

addGlobalListener

public boolean addGlobalListener(ZeventListener listener)
Add an event listener which is called for every event type which comes through the queue.

Returns:
false if the listener was already listening

addBufferedGlobalListener

public boolean addBufferedGlobalListener(ZeventListener listener)

removeGlobalListener

public boolean removeGlobalListener(ZeventListener listener)
Remove a global event listener

Returns:
false if the listener was not listening

addBufferedListener

public ZeventListener addBufferedListener(java.util.Set eventClasses,
                                          ZeventListener listener)
Add a buffered listener for event types. A buffered listener is one which implements its own private queue and thread for processing entries. If the actions performed by your listener take a while to complete, then a buffered listener is a good candidate for use, since it means that it will not be holding up the regular Zevent queue processor.

Parameters:
eventClasses - Classes which subclass Zevent to listen for
listener - Listener to invoke with events
Returns:
the buffered listener. This return value must be used when trying to remove the listener later on.

addBufferedListener

public ZeventListener addBufferedListener(java.lang.Class eventClass,
                                          ZeventListener listener)

addListener

public boolean addListener(java.lang.Class eventClass,
                           ZeventListener listener)
Add a listener for a specific type of event.

Parameters:
eventClass - A subclass of Zevent
Returns:
false if the listener was already registered

removeListener

public boolean removeListener(java.lang.Class eventClass,
                              ZeventListener listener)
Remove a specific event type listener.

See Also:
addListener(Class, ZeventListener)

enqueueEvents

public void enqueueEvents(java.util.List events)
                   throws java.lang.InterruptedException
Enqueue events onto the event queue. This method will block if the thread is full.

Specified by:
enqueueEvents in interface ZeventEnqueuer
Parameters:
events - List of Zevents
Throws:
java.lang.InterruptedException - if the queue was full and the thread was interrupted

enqueueEventAfterCommit

public void enqueueEventAfterCommit(Zevent event)

enqueueEventsAfterCommit

public void enqueueEventsAfterCommit(java.util.List inEvents)
Enqueue events if the current running transaction successfully commits.

See Also:
enqueueEvents(List)

enqueueEvent

public void enqueueEvent(Zevent event)
                  throws java.lang.InterruptedException
Description copied from interface: ZeventEnqueuer
Enqueues an Zevent for processing

Specified by:
enqueueEvent in interface ZeventEnqueuer
Parameters:
event - The Zevent to enqueue
Throws:
java.lang.InterruptedException - If interrupted while enqueueing event

waitUntilNoEvents

public void waitUntilNoEvents()
                       throws java.lang.InterruptedException
Wait until the queue is empty. This is a non-performant function, so please only use it in test suites.

Throws:
java.lang.InterruptedException

getInstance

public static ZeventManager getInstance()

Hyperic HQ Plugin API v. 4.4.0.2

Copyright © 2004-2006 Hyperic, Inc. support@hyperic.net, All Rights Reserved.