org.jboss.ejb.txtimer
Class TimerServiceImpl

java.lang.Object
  extended by org.jboss.ejb.txtimer.TimerServiceImpl
All Implemented Interfaces:
javax.ejb.TimerService

public class TimerServiceImpl
extends Object
implements javax.ejb.TimerService

The TimerService provides enterprise bean components with access to the container-provided Timer Service. The EJB Timer Service allows entity beans, stateless session beans, and message-driven beans to be registered for timer callback events at a specified time, after a specified elapsed time, or after a specified interval.

Since:
07-Apr-2004
Version:
$Revision: 57209 $
Author:
Thomas.Diesler@jboss.org, Dimitris.Andreadis@jboss.org

Constructor Summary
TimerServiceImpl(TimedObjectId timedObjectId, TimedObjectInvoker timedObjectInvoker, TransactionManager transactionManager, PersistencePolicy persistencePolicy, RetryPolicy retryPolicy, TimerIdGenerator timerIdGenerator)
          CTOR All the dependencies are supplied by the caller
 
Method Summary
 javax.ejb.Timer createTimer(Date initialExpiration, long intervalDuration, Serializable info)
          Create an interval txtimer whose first expiration occurs at a given point in time and whose subsequent expirations occur after a specified interval.
 javax.ejb.Timer createTimer(Date expiration, Serializable info)
          Create a single-action txtimer that expires at a given point in time.
 javax.ejb.Timer createTimer(long initialDuration, long intervalDuration, Serializable info)
          Create an interval txtimer whose first expiration occurs after a specified duration, and whose subsequent expirations occur after a specified interval.
 javax.ejb.Timer createTimer(long duration, Serializable info)
          Create a single-action txtimer that expires after a specified duration.
 Collection getAllTimers()
          Get the list of all registerd timers, both active and inactive
 TimedObjectInvoker getTimedObjectInvoker()
          Get the TimedObjectInvoker associated with this TimerService
 javax.ejb.Timer getTimer(javax.ejb.TimerHandle handle)
          Get the Timer for the given timedObjectId
 Collection getTimers()
          Get all the active timers associated with this bean.
 void shutdown(boolean keepState)
          Kill all timers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimerServiceImpl

public TimerServiceImpl(TimedObjectId timedObjectId,
                        TimedObjectInvoker timedObjectInvoker,
                        TransactionManager transactionManager,
                        PersistencePolicy persistencePolicy,
                        RetryPolicy retryPolicy,
                        TimerIdGenerator timerIdGenerator)
CTOR All the dependencies are supplied by the caller

Method Detail

getAllTimers

public Collection getAllTimers()
Get the list of all registerd timers, both active and inactive


getTimer

public javax.ejb.Timer getTimer(javax.ejb.TimerHandle handle)
Get the Timer for the given timedObjectId


shutdown

public void shutdown(boolean keepState)
Kill all timers

Parameters:
keepState - Whether to maintain or remove timer persistent state

getTimedObjectInvoker

public TimedObjectInvoker getTimedObjectInvoker()
Get the TimedObjectInvoker associated with this TimerService


createTimer

public javax.ejb.Timer createTimer(long duration,
                                   Serializable info)
                            throws IllegalArgumentException,
                                   IllegalStateException,
                                   javax.ejb.EJBException
Create a single-action txtimer that expires after a specified duration.

Specified by:
createTimer in interface javax.ejb.TimerService
Parameters:
duration - The number of milliseconds that must elapse before the txtimer expires.
info - Application information to be delivered along with the txtimer expiration notification. This can be null.
Returns:
The newly created Timer.
Throws:
IllegalArgumentException - If duration is negative
IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
javax.ejb.EJBException - If this method could not complete due to a system-level failure.

createTimer

public javax.ejb.Timer createTimer(long initialDuration,
                                   long intervalDuration,
                                   Serializable info)
                            throws IllegalArgumentException,
                                   IllegalStateException,
                                   javax.ejb.EJBException
Create an interval txtimer whose first expiration occurs after a specified duration, and whose subsequent expirations occur after a specified interval.

Specified by:
createTimer in interface javax.ejb.TimerService
Parameters:
initialDuration - The number of milliseconds that must elapse before the first txtimer expiration notification.
intervalDuration - The number of milliseconds that must elapse between txtimer expiration notifications. Expiration notifications are scheduled relative to the time of the first expiration. If expiration is delayed(e.g. due to the interleaving of other method calls on the bean) two or more expiration notifications may occur in close succession to "catch up".
info - Application information to be delivered along with the txtimer expiration notification. This can be null.
Returns:
The newly created Timer.
Throws:
IllegalArgumentException - If initialDuration is negative, or intervalDuration is negative.
IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
javax.ejb.EJBException - If this method could not complete due to a system-level failure.

createTimer

public javax.ejb.Timer createTimer(Date expiration,
                                   Serializable info)
                            throws IllegalArgumentException,
                                   IllegalStateException,
                                   javax.ejb.EJBException
Create a single-action txtimer that expires at a given point in time.

Specified by:
createTimer in interface javax.ejb.TimerService
Parameters:
expiration - The point in time at which the txtimer must expire.
info - Application information to be delivered along with the txtimer expiration notification. This can be null.
Returns:
The newly created Timer.
Throws:
IllegalArgumentException - If expiration is null, or expiration.getTime() is negative.
IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
javax.ejb.EJBException - If this method could not complete due to a system-level failure.

createTimer

public javax.ejb.Timer createTimer(Date initialExpiration,
                                   long intervalDuration,
                                   Serializable info)
                            throws IllegalArgumentException,
                                   IllegalStateException,
                                   javax.ejb.EJBException
Create an interval txtimer whose first expiration occurs at a given point in time and whose subsequent expirations occur after a specified interval.

Specified by:
createTimer in interface javax.ejb.TimerService
Parameters:
initialExpiration - The point in time at which the first txtimer expiration must occur.
intervalDuration - The number of milliseconds that must elapse between txtimer expiration notifications. Expiration notifications are scheduled relative to the time of the first expiration. If expiration is delayed(e.g. due to the interleaving of other method calls on the bean) two or more expiration notifications may occur in close succession to "catch up".
info - Application information to be delivered along with the txtimer expiration notification. This can be null.
Returns:
The newly created Timer.
Throws:
IllegalArgumentException - If initialExpiration is null, or initialExpiration.getTime() is negative, or intervalDuration is negative.
IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
javax.ejb.EJBException - If this method could not complete due to a system-level failure.

getTimers

public Collection getTimers()
                     throws IllegalStateException,
                            javax.ejb.EJBException
Get all the active timers associated with this bean.

Specified by:
getTimers in interface javax.ejb.TimerService
Returns:
A collection of javax.ejb.Timer objects.
Throws:
IllegalStateException - If this method is invoked while the instance is in a state that does not allow access to this method.
javax.ejb.EJBException - If this method could not complete due to a system-level failure.


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.