org.exolab.jms.events
Interface EventManager
- All Known Implementing Classes:
- BasicEventManager
- public interface EventManager
The EventManager manages Event
objects.
An event is defined to occur at sometime in the future, as specified either
by an absolute time through registerEvent(org.exolab.jms.events.Event, long)
or as relative time
through registerEventRelative(org.exolab.jms.events.Event, long)
. An event must have an associated
event type and may have an attached Serializable
object, which
is used when the EventManager makes a callback to the registered handler when
the event fires.
The register methids will return an event identifier which can subsequently
be used to unregister the event through the unregisterEvent(java.lang.String)
event.
This is the only means of unregister an event.
If the Event
object is incorrectly specified then the IllegalEventDefinedException
exception is raised.
When an event fires the EventManager is responsible for ensuring that the
event handler is notified. If the event handler has since been removed then
the EventManager must gracefully abort the delivery and continue processing
the next event.
This class is also Serviceable
, which implies that it can be
added and controlled by a ServiceManager
.
- Version:
- $Revision: 1.2 $ $Date: 2005/08/30 05:08:53 $
- Author:
- Jim Alateras
Method Summary |
java.lang.String |
registerEvent(Event event,
long absolute)
Register an event to be fired once and only once at the specified
abolsute time. |
java.lang.String |
registerEventRelative(Event event,
long relative)
Register an event to be fired once and only once at a time relative to
now. |
void |
unregisterEvent(java.lang.String id)
Unregister the event specified by the event identifier. |
registerEvent
public java.lang.String registerEvent(Event event,
long absolute)
throws IllegalEventDefinedException
- Register an event to be fired once and only once at the specified
abolsute time. The event object must be Serializable so that it can be
persisted and restored across EventManager restarts.
If the specified event is ill-defined then the IllegalEventDefined-
Exception exception is thrown.
Similarly, if the abolsute time has already passed then the exception
IllegalEventDefinedException is raised.
The method returns an unique event identifier, which can subsequently be
used to deregister the event.
- Parameters:
event
- information about the eventabsolute
- the absolute time, in ms, that the event must fire- Returns:
- String unique event identifier
- Throws:
IllegalEventDefinedException
-
registerEventRelative
public java.lang.String registerEventRelative(Event event,
long relative)
throws IllegalEventDefinedException
- Register an event to be fired once and only once at a time relative to
now. The event object must be Serializable so that it can be persisted
and restored across EventManager restarts.
If the specified event is ill-defined then the IllegalEventDefined-
Exception exception is thrown.
The method returns an unique event identifier, which can subsequently be
used to deregister the event.
- Parameters:
event
- information about the eventrelative
- the relative time in ms (currently no reference to
locale).- Returns:
- String unique event identifier,
- Throws:
IllegalEventDefinedException
-
unregisterEvent
public void unregisterEvent(java.lang.String id)
- Unregister the event specified by the event identifier. If the event does
not exist then fail silently.
- Parameters:
id
- unique event identifier.
Copyright © 1999-2007 The OpenJMS Group. All Rights Reserved.