Class Timer

java.lang.Object
All Implemented Interfaces:
MBeanRegistration, NotificationBroadcaster, NotificationEmitter, TimerMBean

public class Timer extends NotificationBroadcasterSupport implements TimerMBean, MBeanRegistration
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:

  1. When sending timer notifications, the timer updates the notification sequence number irrespective of the notification type.
  2. The timer service relies on the system date of the host where the Timer class is loaded. Listeners may receive 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.
  3. The default behavior for periodic notifications is fixed-delay execution, as specified in Timer. In order to use fixed-rate execution, use the overloaded addNotification(String, String, Object, Date, long, long, boolean) method.
  4. Notification listeners are potentially all executed in the same thread. Therefore, they should execute rapidly to avoid holding up other listeners or perturbing the regularity of fixed-delay executions. See NotificationBroadcasterSupport.

Since:
1.5