Package javax.ejb

Interface Timer



  • public interface Timer
    The Timer interface contains information about a timer that was created through the EJB Timer Service.
    Since:
    EJB 2.1
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void cancel​()
      Cause the timer and all its associated expiration notifications to be cancelled.
      TimerHandle getHandle​()
      Get a serializable handle to the timer.
      java.io.Serializable getInfo​()
      Get the information associated with the timer at the time of creation.
      java.util.Date getNextTimeout​()
      Get the point in time at which the next timer expiration is scheduled to occur.
      ScheduleExpression getSchedule​()
      Get the schedule expression corresponding to this timer.
      long getTimeRemaining​()
      Get the number of milliseconds that will elapse before the next scheduled timer expiration.
      boolean isCalendarTimer​()
      Return whether this timer is a calendar-based timer.
      boolean isPersistent​()
      Return whether this timer has persistent semantics.
    • Method Detail

      • cancel

        void cancel​()
             throws java.lang.IllegalStateException,
                    NoSuchObjectLocalException,
                    EJBException
        Cause the timer and all its associated expiration notifications to be cancelled.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        EJBException - If this method could not complete due to a system-level failure.
      • getTimeRemaining

        long getTimeRemaining​()
                       throws java.lang.IllegalStateException,
                              NoSuchObjectLocalException,
                              NoMoreTimeoutsException,
                              EJBException
        Get the number of milliseconds that will elapse before the next scheduled timer expiration.
        Returns:
        the number of milliseconds that will elapse before the next scheduled timer expiration.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        javax.ejb.NoMoreTimeoutsExceptions - Indicates that the timer has no future timeouts
        EJBException - If this method could not complete due to a system-level failure.
        NoMoreTimeoutsException
      • getNextTimeout

        java.util.Date getNextTimeout​()
                               throws java.lang.IllegalStateException,
                                      NoSuchObjectLocalException,
                                      NoMoreTimeoutsException,
                                      EJBException
        Get the point in time at which the next timer expiration is scheduled to occur.
        Returns:
        the point in time at which the next timer expiration is scheduled to occur.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        javax.ejb.NoMoreTimeoutsExceptions - Indicates that the timer has no future timeouts
        EJBException - If this method could not complete due to a system-level failure.
        NoMoreTimeoutsException
      • getSchedule

        ScheduleExpression getSchedule​()
                                throws java.lang.IllegalStateException,
                                       NoSuchObjectLocalException,
                                       EJBException
        Get the schedule expression corresponding to this timer. The timer must be a calendar-based timer. It may have been created automatically or programmatically.
        Returns:
        schedule expression for the timer.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method. Also thrown if invoked on a timer that is not a calendar-based timer.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        EJBException - If this method could not complete due to a system-level failure.
        Since:
        EJB 3.1
      • isPersistent

        boolean isPersistent​()
                      throws java.lang.IllegalStateException,
                             NoSuchObjectLocalException,
                             EJBException
        Return whether this timer has persistent semantics.
        Returns:
        boolean indicating whether the timer is persistent.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        EJBException - If this method could not complete due to a system-level failure.
        Since:
        EJB 3.1
      • isCalendarTimer

        boolean isCalendarTimer​()
                         throws java.lang.IllegalStateException,
                                NoSuchObjectLocalException,
                                EJBException
        Return whether this timer is a calendar-based timer.
        Returns:
        boolean indicating whether the timer is calendar-based.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        EJBException - If this method could not complete due to a system-level failure.
        Since:
        EJB 3.1
      • getInfo

        java.io.Serializable getInfo​()
                              throws java.lang.IllegalStateException,
                                     NoSuchObjectLocalException,
                                     EJBException
        Get the information associated with the timer at the time of creation. This may be the info string that was passed to the timer creation method or the info element of the Schedule annotaiton.
        Returns:
        The Serializable object that was passed in at timer creation, or null if the info argument passed in at timer creation was null.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        EJBException - If this method could not complete due to a system-level failure.
      • getHandle

        TimerHandle getHandle​()
                       throws java.lang.IllegalStateException,
                              NoSuchObjectLocalException,
                              EJBException
        Get a serializable handle to the timer. This handle can be used at a later time to re-obtain the timer reference.
        Returns:
        a serializable handle to the timer.
        Throws:
        java.lang.IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method. Also thrown if invoked on a non-persistent timer.
        NoSuchObjectLocalException - If invoked on a timer that has expired or has been cancelled.
        EJBException - If this method could not complete due to a system-level failure.