|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.management.NotificationBroadcasterSupport | +--javax.management.timer.Timer
Provides the implementation of the timer MBean. The timer MBean sends out an
alarm at a specified time that wakes up all the listeners registered to
receive timer notifications.
This class manages a list of dated timer notifications. A method allows users
to add/remove as many notifications as required. When a timer notification is
emitted by the timer and becomes obsolete, it is automatically removed from
the list of timer notifications.
Additional timer notifications can be added into regularly repeating
notifications.
Note:
All notifications before the time when the addNotification method is called
are ignored, irrespective of the sendPastNotifications flag.
When sending timer notifications, the timer updates the notification sequence
number irrespective of the notification type.
The timer service relies on the system date of the host where the Timer class
is loaded. Callers may be unable to add notifications to the timer, and
listeners may recieve untimely notifications if their host has a different
system date. To avoid such problems, synchronize the system date of all host
machines where timing is needed.
Field Summary | |
static long |
ONE_DAY
Number of milliseconds in one day. |
static long |
ONE_HOUR
Number of milliseconds in one hour. |
static long |
ONE_MINUTE
Number of milliseconds in one minute. |
static long |
ONE_SECOND
Number of milliseconds in one second. |
static long |
ONE_WEEK
Number of milliseconds in one week. |
Constructor Summary | |
Timer()
public constructor. |
Method Summary | |
java.lang.Integer |
addNotification(java.lang.String type,
java.lang.String message,
java.lang.Object userData,
java.util.Date date)
Creates a new timer notification with the specified type, message and userData and inserts it into the list of notifications with a given date and a null period and number of occurences. |
java.lang.Integer |
addNotification(java.lang.String type,
java.lang.String message,
java.lang.Object userData,
java.util.Date date,
long period)
Creates a new timer notification with the specified type, message and userData and inserts it into the list of notifications with a given date and period and a null number of occurences. |
java.lang.Integer |
addNotification(java.lang.String type,
java.lang.String message,
java.lang.Object userData,
java.util.Date date,
long period,
long nbOccurrences)
Creates a new timer notification with the specified type, message and userData and inserts it into the list of notifications with a given date, period and number of occurences. |
java.util.Vector |
getAllNotificationIDs()
Gets all timer notification identifiers registered into the list of notifications. |
java.util.Date |
getDate(java.lang.Integer id)
Gets a copy of the date associated to a timer notification. |
int |
getNbNotifications()
Gets the number of timer notifications registered into the list of notifications. |
java.lang.Long |
getNbOccurences(java.lang.Integer id)
Gets a copy of the remaining number of occurences associated to a timer notification. |
java.util.Vector |
getNotificationIDs(java.lang.String type)
Gets all the identifiers of timer notifications corresponding to the specified type. |
java.lang.String |
getNotificationMessage(java.lang.Integer id)
Gets the timer notification detailed message corresponding to the specified identifier. |
java.lang.String |
getNotificationType(java.lang.Integer id)
Gets the timer notification type corresponding to the specified identifier. |
java.lang.Object |
getNotificationUserData(java.lang.Integer id)
Gets the timer notification user data object corresponding to the specified identifier. |
java.lang.Long |
getPeriod(java.lang.Integer id)
Gets a copy of the period (in milliseconds) associated to a timer notification. |
boolean |
getSendPastNotifications()
Gets the flag indicating whether or not the timer sends past notifications. |
boolean |
isActive()
Tests whether the timer MBean is active. |
boolean |
isEmpty()
Tests whether the list of timer notifications is empty. |
void |
postDeregister()
Allows the timer MBean to perform any operations needed after having been de-registered by the MBean server. |
void |
postRegister(java.lang.Boolean registrationDone)
Allows the timer MBean to perform any operations needed after having been registered in the MBean server or after the registration has failed. |
void |
preDeregister()
Allows the timer MBean to perform any operations it needs before being de-registered in the MBean server. |
ObjectName |
preRegister(MBeanServer server,
ObjectName name)
Allows the timer MBean to perform any operations it needs before being registered in the MBean server. |
void |
removeAllNotifications()
Removes all the timer notifications from the list of notifications and resets the counter used to update the timer notification identifiers. |
void |
removeNotification(java.lang.Integer id)
Removes the timer notification corresponding to the specified identifier from the list of notifications. |
void |
removeNotifications(java.lang.String type)
Removes all the timer notifications corresponding to the specified type from the list of notifications. |
void |
setSendPastNotifications(boolean sendPastNotifications)
sets the attribute sendPastNotification, to determine the behavior of the timer when it finds expired notifications |
void |
start()
Starts the timer. |
void |
stop()
stops the timer. |
Methods inherited from class javax.management.NotificationBroadcasterSupport |
addNotificationListener,
getNotificationInfo,
removeNotificationListener,
sendNotification |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
public static final long ONE_SECOND
public static final long ONE_MINUTE
public static final long ONE_HOUR
public static final long ONE_DAY
public static final long ONE_WEEK
Constructor Detail |
public Timer()
Method Detail |
public ObjectName preRegister(MBeanServer server, ObjectName name) throws java.lang.Exception
server
- The MBean server in which the timer MBean will be registered.name
- The object name of the timer MBean.public void postRegister(java.lang.Boolean registrationDone)
registrationDone
- Indicates whether or not the MBean has been
successfully registered in the MBean server.
The value false means that the registration phase has failed.public void preDeregister() throws java.lang.Exception
public void postDeregister()
public void start()
public void stop()
public boolean isActive()
public boolean isEmpty()
public int getNbNotifications()
public void setSendPastNotifications(boolean sendPastNotifications)
sendPastNotifications
- The past notifications sending on/off flag
value.public boolean getSendPastNotifications()
public java.lang.Integer addNotification(java.lang.String type, java.lang.String message, java.lang.Object userData, java.util.Date date) throws java.lang.IllegalArgumentException
type
- The timer notification type.message
- The timer notification detailed message.userData
- The timer notification user data object.date
- The date when the notification occurs.public java.lang.Integer addNotification(java.lang.String type, java.lang.String message, java.lang.Object userData, java.util.Date date, long period) throws java.lang.IllegalArgumentException
type
- The timer notification type.message
- The timer notification detailed message.userData
- The timer notification user data object.date
- The date when the notification occurs.period
- The period of the timer notification (in milliseconds).public java.lang.Integer addNotification(java.lang.String type, java.lang.String message, java.lang.Object userData, java.util.Date date, long period, long nbOccurrences) throws java.lang.IllegalArgumentException
type
- The timer notification type.message
- The timer notification detailed message.userData
- The timer notification user data object.date
- The date when the notification occurs.period
- The period of the timer notification (in milliseconds).nbOccurences
- The total number the timer notification will
be emitted.public void removeNotification(java.lang.Integer id) throws InstanceNotFoundException
id
- The timer notification identifier.public void removeNotifications(java.lang.String type) throws InstanceNotFoundException
type
- The timer notification type.public void removeAllNotifications()
public java.lang.Long getPeriod(java.lang.Integer id)
id
- The timer notification identifier.public java.lang.Object getNotificationUserData(java.lang.Integer id)
id
- The timer notification identifier.public java.lang.String getNotificationType(java.lang.Integer id)
id
- The timer notification identifier.public java.lang.String getNotificationMessage(java.lang.Integer id)
id
- The timer notification identifier.public java.util.Date getDate(java.lang.Integer id)
id
- The timer notification identifier.public java.lang.Long getNbOccurences(java.lang.Integer id)
id
- The timer notification identifier.public java.util.Vector getAllNotificationIDs()
public java.util.Vector getNotificationIDs(java.lang.String type)
type
- The timer notification type..
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |