public interface Timer
TimerManager.schedule methods.
 It allows retrieving information about the scheduled TimerListener and
 allows cancelling it.Timers are transient and not transactional and run inside the JVM which created them. If a cluster-wide scheduled event is required or it needs to be persistent, transactional or recoverable then a service such as the EJB 2.1 Timer service should be used instead.
Timer, 
TimerListener| Modifier and Type | Method and Description | 
|---|---|
| boolean | cancel()This cancels the timer and all future TimerListener invocations and
 may be called during the  TimerListener.timerExpiredmethod. | 
| long | getPeriod()Return the period used to compute the time this timer will repeat. | 
| long | getScheduledExecutionTime()Returns the next absolute scheduled execution time in milliseconds. | 
| TimerListener | getTimerListener()Returns the application-supplied TimerListener associated
 with this Timer. | 
boolean cancel()
TimerListener.timerExpired 
 method.
 
 CancelTimerListener.timerCancel events may be 
 called concurrently with any TimerListener.timerExpired
 methods.  Proper thread synchronization techiniques must be employed to 
 ensure consistency.
 
 Once a Timer is cancelled an application must not use
 the Timer instance again.
CancelTimerListenerTimerListener getTimerListener()
IllegalStateException - if the TimerManager has been stopped.long getScheduledExecutionTime()
                        throws IllegalStateException
If invoked while a TimerListener is running, the return value is the scheduled execution time of the current TimerListener execution.
This method is typically invoked from within a TimerListener's timerExpired method, to determine whether the current execution of the task is sufficiently timely to warrant performing the scheduled activity:
    public void timerExpired(Timer t) {
        if (System.currentTimeMillis() - t.scheduledExecutionTime() >=
            MAX_TARDINESS)
                return;  // Too late; skip this execution.
        // Perform the task
    }
  
 
 If the timer has been suspended, the time reflects the most recently-calculated
 execution time prior to being suspended.IllegalStateException - if the TimerManager has been stopped.long getPeriod()