| java.lang.Object javax.management.NotificationBroadcasterSupport javax.management.timer.Timer
Timer | public class Timer extends NotificationBroadcasterSupport implements TimerMBean,MBeanRegistration,Serializable(Code) | | This class 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.
|
Inner Class :class Task implements Runnable | |
Field Summary | |
final public static long | ONE_DAY Number of milliseconds in one day. | final public static long | ONE_HOUR Number of milliseconds in one hour. | final public static long | ONE_MINUTE Number of milliseconds in one minute. | final public static long | ONE_SECOND Number of milliseconds in one second. | final public static long | ONE_WEEK Number of milliseconds in one week. |
Constructor Summary | |
public | Timer() |
Method Summary | |
public Integer | addNotification(String type, String message, Object userData, Date date) This method 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.
The timer notification will be handled once at the specified date.
Parameters: type - The timer notification type. Parameters: message - The timer notification detailed message. Parameters: userData - The timer notification user data object. Parameters: date - The date when the notification occurs. | public Integer | addNotification(String type, String message, Object userData, Date date, long period) This method 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.
The timer notification will repeat continuously using the timer period.
Parameters: type - The timer notification type. Parameters: message - The timer notification detailed message. Parameters: userData - The timer notification user data object. Parameters: date - The date when the notification occurs. Parameters: period - The period of the timer notification (in milliseconds). | public Integer | addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences) This method 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.
If the timer notification to be inserted has a date that is before
the current date, the method attempts to update the notification
using the defined period. | public Vector | getAllNotificationIDs() This method gets all timer notification identifiers registered into
the list of notifications.
A vector of Integer objects containing all the timernotification identifiers. | public Date | getDate(Integer id) This method gets a copy of the date associated to a timer notification.
Parameters: id - - The timer notification identifier. | public int | getNbNotifications() This method gets the number of timer notifications registered into the
list of notifications. | public Long | getNbOccurences(Integer id) This method gets a copy of the remaining number of occurences
associated to a timer notification.
Parameters: id - - The timer notification identifier. | public Vector | getNotificationIDs(String type) This method gets all the identifiers of timer notifications
corresponding to the specified type.
Parameters: type - - The timer notification type. | public String | getNotificationMessage(Integer id) This method gets the timer notification detailed message corresponding
to the specified identifier.
Parameters: id - - The timer notification identifier. | public String | getNotificationType(Integer id) This method gets the timer notification type corresponding to the
specified identifier.
Parameters: id - - The timer notification identifier. | public Object | getNotificationUserData(Integer id) This method gets the timer notification user data object corresponding
to the specified identifier.
Parameters: id - - The timer notification identifier. | public Long | getPeriod(Integer id) This method gets a copy of the period (in milliseconds) associated
to a timer notification.
Parameters: id - - The timer notification identifier. | public boolean | getSendPastNotifications() This method gets the flag indicating whether or not the timer
sends past notifications. | public boolean | isActive() This method tests whether the timer MBean is active. | public boolean | isEmpty() This method tests whether the list of timer notifications is empty. | public void | postDeregister() Allows the timer MBean to perform any operations needed after having been
de-registered by the MBean server. | public void | postRegister(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. | public void | preDeregister() Allows the timer MBean to perform any operations it needs before
being de-registered by the MBean server. | public ObjectName | preRegister(MBeanServer server, ObjectName objectName) Allows the timer MBean to perform any operations it needs before
being registered in the MBean server.
Parameters: server - The MBean server in which the timer MBean will be registered. Parameters: name - The object name of the timer MBean. | public void | removeAllNotifications() This method removes all the timer notifications from the list of
notifications and resets the counter used to update the timer
notification identifiers. | public void | removeNotification(Integer id) This method Removes the timer notification corresponding to the
specified identifier from the list of notifications. | public void | removeNotifications(String type) Removes all the timer notifications corresponding to the specified type
from the list of notifications. | public void | setSendPastNotifications(boolean value) This method Sets the flag indicating whether the timer sends past
notifications or not. | public synchronized void | start() This method starts the timer.
If there is one or more timer notifications before the time in the
list of notifications, the notification is sent according to the
sendPastNotifications flag and then, updated according
to its period and remaining number of occurences. | public synchronized void | stop() This method stops the timer. |
ONE_DAY | final public static long ONE_DAY(Code) | | Number of milliseconds in one day.
This constant can be used in addNotification method.
|
ONE_HOUR | final public static long ONE_HOUR(Code) | | Number of milliseconds in one hour.
This constant can be used in addNotification method.
|
ONE_MINUTE | final public static long ONE_MINUTE(Code) | | Number of milliseconds in one minute.
This constant can be used in addNotification method.
|
ONE_SECOND | final public static long ONE_SECOND(Code) | | Number of milliseconds in one second.
This constant can be used in addNotification method.
|
ONE_WEEK | final public static long ONE_WEEK(Code) | | Number of milliseconds in one week.
This constant can be used in addNotification method.
|
Timer | public Timer()(Code) | | Default Constructor
|
addNotification | public Integer addNotification(String type, String message, Object userData, Date date) throws IllegalArgumentException(Code) | | This method 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.
The timer notification will be handled once at the specified date.
Parameters: type - The timer notification type. Parameters: message - The timer notification detailed message. Parameters: userData - The timer notification user data object. Parameters: date - The date when the notification occurs. An instance of java.lang.Integer which is the identifier ofthe new created timer notification. exception: java.lang.IllegalArgumentException - The date notificationis before the current date. |
addNotification | public Integer addNotification(String type, String message, Object userData, Date date, long period) throws IllegalArgumentException(Code) | | This method 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.
The timer notification will repeat continuously using the timer period.
Parameters: type - The timer notification type. Parameters: message - The timer notification detailed message. Parameters: userData - The timer notification user data object. Parameters: date - The date when the notification occurs. Parameters: period - The period of the timer notification (in milliseconds). An instance of java.lang.Integer which is the identifier ofthe new created timer notification. exception: java.lang.IllegalArgumentException - - The period is negativeor the date notification is before the current date. |
addNotification | public Integer addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences) throws IllegalArgumentException(Code) | | This method 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.
If the timer notification to be inserted has a date that is before
the current date, the method attempts to update the notification
using the defined period. If the defined period is null, the method
generates an exception.
If the timer notification has a non null period, the date of the
notification is updated by adding the period until the notification
date is later than the current date. The timer notification is then
inserted into the list of notifications.
If the specified number of occurences is non null, the previous
mechanism is employed. The number of times that the period is added
is limited by the specified number of occurences. If the notification
date remains earlier than the current date, an exception is generated.
Note that once the timer notification has been added into the list of
notifications, its associated date, period and number of occurences
cannot be updated.
Parameters: type - The timer notification type. Parameters: message - The timer notification detailed message. Parameters: userData - The timer notification user data object. Parameters: date - The date when the notification occurs. Parameters: period - The period of the timer notification (in milliseconds). Parameters: nbOccurences - The total number the timer notification will be emitted. The identifier of the new created timer notification. exception: java.lang.IllegalArgumentException - The period or the numberof occurences is negative or the date notification isbefore the current date. |
getAllNotificationIDs | public Vector getAllNotificationIDs()(Code) | | This method gets all timer notification identifiers registered into
the list of notifications.
A vector of Integer objects containing all the timernotification identifiers. The vector is empty if thereis no timer notification registered for this timer MBean. |
getDate | public Date getDate(Integer id)(Code) | | This method gets a copy of the date associated to a timer notification.
Parameters: id - - The timer notification identifier. A copy of the date or null if the identifier is not mapped toany timer notification registered for this timer MBean. |
getNbNotifications | public int getNbNotifications()(Code) | | This method gets the number of timer notifications registered into the
list of notifications.
The number of timer notifications. |
getNbOccurences | public Long getNbOccurences(Integer id)(Code) | | This method gets a copy of the remaining number of occurences
associated to a timer notification.
Parameters: id - - The timer notification identifier. A copy of the remaining number of occurences or null ifthe identifier is not mapped to any timer notificationregistered for this timer MBean. |
getNotificationIDs | public Vector getNotificationIDs(String type)(Code) | | This method gets all the identifiers of timer notifications
corresponding to the specified type.
Parameters: type - - The timer notification type. A vector of Integer objects containing all theidentifiers of timer notifications with the specifiedtype . The vector is empty if there is notimer notifications registered for this timer MBeanwith the specified type . |
getNotificationMessage | public String getNotificationMessage(Integer id)(Code) | | This method gets the timer notification detailed message corresponding
to the specified identifier.
Parameters: id - - The timer notification identifier. The timer notification detailed message or null if theidentifier is not mapped to any timer notificationregistered for this timer MBean. |
getNotificationType | public String getNotificationType(Integer id)(Code) | | This method gets the timer notification type corresponding to the
specified identifier.
Parameters: id - - The timer notification identifier. The timer notification type or null if the identifier is notmapped to any timer notification registered for this timer MBean. |
getNotificationUserData | public Object getNotificationUserData(Integer id)(Code) | | This method gets the timer notification user data object corresponding
to the specified identifier.
Parameters: id - - The timer notification identifier. The timer notification user data object or null if theidentifier is not mapped to any timer notificationregistered for this timer MBean. |
getPeriod | public Long getPeriod(Integer id)(Code) | | This method gets a copy of the period (in milliseconds) associated
to a timer notification.
Parameters: id - - The timer notification identifier. A copy of the period or null if the identifier is not mappedto any timer notification registered for this timer MBean. |
getSendPastNotifications | public boolean getSendPastNotifications()(Code) | | This method gets the flag indicating whether or not the timer
sends past notifications.
The past notifications sending on/off flag value. |
isActive | public boolean isActive()(Code) | | This method tests whether the timer MBean is active. A timer MBean is
marked active when the start method is called. It becomes inactive
when the stop method is called.
true if the timer MBean is active, false otherwise. |
isEmpty | public boolean isEmpty()(Code) | | This method tests whether the list of timer notifications is empty.
true if the list of timer notifications is empty, false otherwise. |
postDeregister | public void postDeregister()(Code) | | Allows the timer MBean to perform any operations needed after having been
de-registered by the MBean server.
|
postRegister | public void postRegister(Boolean registrationDone)(Code) | | Allows the timer MBean to perform any operations needed after having been
registered in the MBean server or after the registration has failed.
Not used in this context.
|
preDeregister | public void preDeregister() throws java.lang.Exception(Code) | | Allows the timer MBean to perform any operations it needs before
being de-registered by the MBean server.
Stops the timer.
exception: java.lang.Exception - |
preRegister | public ObjectName preRegister(MBeanServer server, ObjectName objectName) throws Exception(Code) | | Allows the timer MBean to perform any operations it needs before
being registered in the MBean server.
Parameters: server - The MBean server in which the timer MBean will be registered. Parameters: name - The object name of the timer MBean. The name of the timer MBean registered. exception: java.lang.Exception - |
removeAllNotifications | public void removeAllNotifications()(Code) | | This method removes all the timer notifications from the list of
notifications and resets the counter used to update the timer
notification identifiers.
|
removeNotification | public void removeNotification(Integer id) throws InstanceNotFoundException(Code) | | This method Removes the timer notification corresponding to the
specified identifier from the list of notifications.
Parameters: id - - The timer notification identifier. exception: InstanceNotFoundException - - The specified identifier doesnot correspond to any timer notification in the listof notifications of this timer MBean. |
removeNotifications | public void removeNotifications(String type) throws InstanceNotFoundException(Code) | | Removes all the timer notifications corresponding to the specified type
from the list of notifications.
Parameters: type - - The timer notification type. exception: InstanceNotFoundException - - The specified type does notcorrespond to any timer notification in the list ofnotifications of this timer MBean. |
setSendPastNotifications | public void setSendPastNotifications(boolean value)(Code) | | This method Sets the flag indicating whether the timer sends past
notifications or not.
Parameters: value - - The past notifications sending on/off flag value. |
start | public synchronized void start()(Code) | | This method starts the timer.
If there is one or more timer notifications before the time in the
list of notifications, the notification is sent according to the
sendPastNotifications flag and then, updated according
to its period and remaining number of occurences. If the timer
notification date remains earlier than the current date, this
notification is just removed from the list of notifications.
|
stop | public synchronized void stop()(Code) | | This method stops the timer.
|
|
|