com.sun.ejb.containers
Class TimerBean

java.lang.Object
  extended by com.sun.ejb.containers.TimerBean
All Implemented Interfaces:
TimerLocal

public class TimerBean
extends java.lang.Object
implements TimerLocal

TimerBean is a facade for the persistent state of an EJB Timer. It is part of the EJB container and is implemented using Java Persistence API. The standard JPA behavior is useful in implementing the transactional properties of EJB timers. When an EJB timer is created by an application, it is not eligible for expiration until the transaction commits. Likewise, if a timer is cancelled and the transaction rolls back, the timer must be reactivated. To accomplish this, TimerBean registers callbacks with the transaction manager and interacts with the EJBTimerService accordingly.

Author:
Kenneth Saks, Marina Vatkina

Nested Class Summary
static class TimerBean.Blob
          To be used to read in TimerBean.Blob and replace with TimerState.Blob on v2.x upgrade
 
Constructor Summary
TimerBean()
           
 
Method Summary
 void cancel(TimerPrimaryKey timerId)
          Cancel timer.
 void cancelTimers(java.util.Collection<TimerState> timers)
           
 boolean checkStatus(java.lang.String resourceJndiName, boolean checkDatabase)
           
 int countActiveTimersByContainer(long containerId)
           
 int countActiveTimersOwnedBy(java.lang.String ownerId)
           
 int countActiveTimersOwnedByThisServer()
           
 int countActiveTimersOwnedByThisServerByContainer(long containerId)
           
 int countCancelledTimersByContainer(long containerId)
           
 int countCancelledTimersOwnedBy(java.lang.String ownerId)
           
 int countCancelledTimersOwnedByThisServer()
           
 int countCancelledTimersOwnedByThisServerByContainer(long containerId)
           
 int countTimersByApplication(long applicationId)
           
 int countTimersByContainer(long containerId)
           
 int countTimersByContainerAndOwner(long containerId, java.lang.String ownerId)
           
 int countTimersByContainerAndOwnerAndState(long containerId, java.lang.String ownerId, int state)
           
 int countTimersByContainerAndState(long containerId, int state)
           
 int countTimersByOwner(java.lang.String ownerId)
           
 int countTimersByOwnerAndState(java.lang.String ownerId, int state)
           
 int countTimersOwnedBy(java.lang.String ownerId)
           
 java.lang.String[] countTimersOwnedByServerIds(java.lang.String[] serverIds)
           
 int countTimersOwnedByThisServer()
           
 int countTimersOwnedByThisServerByContainer(long containerId)
           
 TimerState createTimer(java.lang.String timerId, long containerId, long applicationId, java.lang.String ownerId, java.lang.Object timedObjectPrimaryKey, java.util.Date initialExpiration, long intervalDuration, TimerSchedule schedule, TimerConfig timerConfig)
           
 int deleteTimersByApplication(long applicationId)
           
 int deleteTimersByContainer(long containerId)
           
 java.util.Set findActiveNonPersistentTimersOwnedByThisServer()
           
 java.util.Set findActiveTimerIdsByContainer(long containerId)
           
 java.util.Set findActiveTimerIdsOwnedBy(java.lang.String ownerId)
           
 java.util.Set findActiveTimerIdsOwnedByThisServer()
           
 java.util.Set findActiveTimerIdsOwnedByThisServerByContainer(long containerId)
           
 java.util.Set findActiveTimersByContainer(long containerId)
           
 java.util.Set findActiveTimersOwnedBy(java.lang.String ownerId)
           
 java.util.Set findActiveTimersOwnedByThisServer()
           
 java.util.Set findActiveTimersOwnedByThisServerByContainer(long containerId)
           
 java.util.Set findCancelledTimerIdsByContainer(long containerId)
           
 java.util.Set findCancelledTimerIdsOwnedBy(java.lang.String ownerId)
           
 java.util.Set findCancelledTimerIdsOwnedByThisServer()
           
 java.util.Set findCancelledTimerIdsOwnedByThisServerByContainer(long containerId)
           
 java.util.Set findCancelledTimersByContainer(long containerId)
           
 java.util.Set findCancelledTimersOwnedBy(java.lang.String ownerId)
           
 java.util.Set findCancelledTimersOwnedByThisServer()
           
 java.util.Set findCancelledTimersOwnedByThisServerByContainer(long containerId)
           
 TimerState findTimer(TimerPrimaryKey timerId)
           
 java.util.Set findTimerIdsByContainer(long containerId)
           
 java.util.Set findTimerIdsByContainerAndOwner(long containerId, java.lang.String ownerId)
           
 java.util.Set findTimerIdsByContainerAndOwnerAndState(long containerId, java.lang.String ownerId, int state)
           
 java.util.Set findTimerIdsByContainerAndState(long containerId, int state)
           
 java.util.Set findTimerIdsByOwner(java.lang.String ownerId)
           
 java.util.Set findTimerIdsByOwnerAndState(java.lang.String ownerId, int state)
           
 java.util.Set findTimerIdsOwnedBy(java.lang.String ownerId)
           
 java.util.Set findTimerIdsOwnedByThisServer()
           
 java.util.Set findTimerIdsOwnedByThisServerByContainer(long containerId)
           
 java.util.Set findTimersByContainer(long containerId)
           
 java.util.Set findTimersByContainerAndOwner(long containerId, java.lang.String ownerId)
           
 java.util.Set findTimersByContainerAndOwnerAndState(long containerId, java.lang.String ownerId, int state)
           
 java.util.Set findTimersByContainerAndState(long containerId, int state)
           
 java.util.Set findTimersByOwnerAndState(java.lang.String ownerId, int state)
           
 java.util.Set findTimersOwnedBy(java.lang.String ownerId)
           
 java.util.Set findTimersOwnedByThisServer()
           
 java.util.Set findTimersOwnedByThisServerByContainer(long containerId)
           
static BaseContainer getContainer(long containerId)
           
 int migrateTimers(java.lang.String fromOwnerId, java.lang.String toOwnerId)
           
 void remove(java.util.Set<TimerPrimaryKey> timerIds)
           
 void remove(TimerPrimaryKey timerId)
           
 void setSessionContext(SessionContext context)
           
static void testCreate(java.lang.String timerId, EJBContext context, java.lang.String ownerId, java.util.Date initialExpiration, long intervalDuration, java.io.Serializable info)
           
static void testMigrate(java.lang.String fromOwnerId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimerBean

public TimerBean()
Method Detail

findTimer

public TimerState findTimer(TimerPrimaryKey timerId)
Specified by:
findTimer in interface TimerLocal

findTimerIdsByContainer

public java.util.Set findTimerIdsByContainer(long containerId)
Specified by:
findTimerIdsByContainer in interface TimerLocal

findTimerIdsByContainerAndState

public java.util.Set findTimerIdsByContainerAndState(long containerId,
                                                     int state)

findTimerIdsByContainerAndOwner

public java.util.Set findTimerIdsByContainerAndOwner(long containerId,
                                                     java.lang.String ownerId)

findTimerIdsByContainerAndOwnerAndState

public java.util.Set findTimerIdsByContainerAndOwnerAndState(long containerId,
                                                             java.lang.String ownerId,
                                                             int state)

findTimerIdsByOwner

public java.util.Set findTimerIdsByOwner(java.lang.String ownerId)

findTimerIdsByOwnerAndState

public java.util.Set findTimerIdsByOwnerAndState(java.lang.String ownerId,
                                                 int state)

findTimersByContainer

public java.util.Set findTimersByContainer(long containerId)
Specified by:
findTimersByContainer in interface TimerLocal

findTimersByContainerAndState

public java.util.Set findTimersByContainerAndState(long containerId,
                                                   int state)

findTimersByContainerAndOwner

public java.util.Set findTimersByContainerAndOwner(long containerId,
                                                   java.lang.String ownerId)

findTimersByContainerAndOwnerAndState

public java.util.Set findTimersByContainerAndOwnerAndState(long containerId,
                                                           java.lang.String ownerId,
                                                           int state)

findTimersByOwnerAndState

public java.util.Set findTimersByOwnerAndState(java.lang.String ownerId,
                                               int state)

countTimersByApplication

public int countTimersByApplication(long applicationId)
Specified by:
countTimersByApplication in interface TimerLocal

countTimersByContainer

public int countTimersByContainer(long containerId)
Specified by:
countTimersByContainer in interface TimerLocal

countTimersByContainerAndState

public int countTimersByContainerAndState(long containerId,
                                          int state)

countTimersByContainerAndOwner

public int countTimersByContainerAndOwner(long containerId,
                                          java.lang.String ownerId)

countTimersByContainerAndOwnerAndState

public int countTimersByContainerAndOwnerAndState(long containerId,
                                                  java.lang.String ownerId,
                                                  int state)

countTimersByOwner

public int countTimersByOwner(java.lang.String ownerId)

countTimersByOwnerAndState

public int countTimersByOwnerAndState(java.lang.String ownerId,
                                      int state)

createTimer

public TimerState createTimer(java.lang.String timerId,
                              long containerId,
                              long applicationId,
                              java.lang.String ownerId,
                              java.lang.Object timedObjectPrimaryKey,
                              java.util.Date initialExpiration,
                              long intervalDuration,
                              TimerSchedule schedule,
                              TimerConfig timerConfig)
                       throws CreateException
Specified by:
createTimer in interface TimerLocal
Throws:
CreateException

setSessionContext

public void setSessionContext(SessionContext context)

remove

public void remove(TimerPrimaryKey timerId)
Specified by:
remove in interface TimerLocal

remove

public void remove(java.util.Set<TimerPrimaryKey> timerIds)
Specified by:
remove in interface TimerLocal

cancel

public void cancel(TimerPrimaryKey timerId)
            throws FinderException,
                   java.lang.Exception
Description copied from interface: TimerLocal
Cancel timer.

Specified by:
cancel in interface TimerLocal
Throws:
FinderException
java.lang.Exception

cancelTimers

public void cancelTimers(java.util.Collection<TimerState> timers)
Specified by:
cancelTimers in interface TimerLocal

findActiveTimerIdsByContainer

public java.util.Set findActiveTimerIdsByContainer(long containerId)
Specified by:
findActiveTimerIdsByContainer in interface TimerLocal

findCancelledTimerIdsByContainer

public java.util.Set findCancelledTimerIdsByContainer(long containerId)
Specified by:
findCancelledTimerIdsByContainer in interface TimerLocal

findTimerIdsOwnedByThisServerByContainer

public java.util.Set findTimerIdsOwnedByThisServerByContainer(long containerId)
Specified by:
findTimerIdsOwnedByThisServerByContainer in interface TimerLocal

findActiveTimerIdsOwnedByThisServerByContainer

public java.util.Set findActiveTimerIdsOwnedByThisServerByContainer(long containerId)
Specified by:
findActiveTimerIdsOwnedByThisServerByContainer in interface TimerLocal

findCancelledTimerIdsOwnedByThisServerByContainer

public java.util.Set findCancelledTimerIdsOwnedByThisServerByContainer(long containerId)
Specified by:
findCancelledTimerIdsOwnedByThisServerByContainer in interface TimerLocal

findTimerIdsOwnedByThisServer

public java.util.Set findTimerIdsOwnedByThisServer()
Specified by:
findTimerIdsOwnedByThisServer in interface TimerLocal

findActiveTimerIdsOwnedByThisServer

public java.util.Set findActiveTimerIdsOwnedByThisServer()
Specified by:
findActiveTimerIdsOwnedByThisServer in interface TimerLocal

findCancelledTimerIdsOwnedByThisServer

public java.util.Set findCancelledTimerIdsOwnedByThisServer()
Specified by:
findCancelledTimerIdsOwnedByThisServer in interface TimerLocal

findTimerIdsOwnedBy

public java.util.Set findTimerIdsOwnedBy(java.lang.String ownerId)
Specified by:
findTimerIdsOwnedBy in interface TimerLocal

findActiveTimerIdsOwnedBy

public java.util.Set findActiveTimerIdsOwnedBy(java.lang.String ownerId)
Specified by:
findActiveTimerIdsOwnedBy in interface TimerLocal

findCancelledTimerIdsOwnedBy

public java.util.Set findCancelledTimerIdsOwnedBy(java.lang.String ownerId)
Specified by:
findCancelledTimerIdsOwnedBy in interface TimerLocal

findActiveTimersByContainer

public java.util.Set findActiveTimersByContainer(long containerId)
Specified by:
findActiveTimersByContainer in interface TimerLocal

findCancelledTimersByContainer

public java.util.Set findCancelledTimersByContainer(long containerId)
Specified by:
findCancelledTimersByContainer in interface TimerLocal

findTimersOwnedByThisServerByContainer

public java.util.Set findTimersOwnedByThisServerByContainer(long containerId)
Specified by:
findTimersOwnedByThisServerByContainer in interface TimerLocal

findActiveTimersOwnedByThisServerByContainer

public java.util.Set findActiveTimersOwnedByThisServerByContainer(long containerId)
Specified by:
findActiveTimersOwnedByThisServerByContainer in interface TimerLocal

findCancelledTimersOwnedByThisServerByContainer

public java.util.Set findCancelledTimersOwnedByThisServerByContainer(long containerId)
Specified by:
findCancelledTimersOwnedByThisServerByContainer in interface TimerLocal

findTimersOwnedByThisServer

public java.util.Set findTimersOwnedByThisServer()
Specified by:
findTimersOwnedByThisServer in interface TimerLocal

findActiveTimersOwnedByThisServer

public java.util.Set findActiveTimersOwnedByThisServer()
Specified by:
findActiveTimersOwnedByThisServer in interface TimerLocal

findCancelledTimersOwnedByThisServer

public java.util.Set findCancelledTimersOwnedByThisServer()
Specified by:
findCancelledTimersOwnedByThisServer in interface TimerLocal

findTimersOwnedBy

public java.util.Set findTimersOwnedBy(java.lang.String ownerId)
Specified by:
findTimersOwnedBy in interface TimerLocal

findActiveTimersOwnedBy

public java.util.Set findActiveTimersOwnedBy(java.lang.String ownerId)
Specified by:
findActiveTimersOwnedBy in interface TimerLocal

findCancelledTimersOwnedBy

public java.util.Set findCancelledTimersOwnedBy(java.lang.String ownerId)
Specified by:
findCancelledTimersOwnedBy in interface TimerLocal

countActiveTimersByContainer

public int countActiveTimersByContainer(long containerId)
Specified by:
countActiveTimersByContainer in interface TimerLocal

countCancelledTimersByContainer

public int countCancelledTimersByContainer(long containerId)
Specified by:
countCancelledTimersByContainer in interface TimerLocal

countTimersOwnedByThisServerByContainer

public int countTimersOwnedByThisServerByContainer(long containerId)
Specified by:
countTimersOwnedByThisServerByContainer in interface TimerLocal

countActiveTimersOwnedByThisServerByContainer

public int countActiveTimersOwnedByThisServerByContainer(long containerId)
Specified by:
countActiveTimersOwnedByThisServerByContainer in interface TimerLocal

countCancelledTimersOwnedByThisServerByContainer

public int countCancelledTimersOwnedByThisServerByContainer(long containerId)
Specified by:
countCancelledTimersOwnedByThisServerByContainer in interface TimerLocal

countTimersOwnedByThisServer

public int countTimersOwnedByThisServer()
Specified by:
countTimersOwnedByThisServer in interface TimerLocal

countTimersOwnedByServerIds

public java.lang.String[] countTimersOwnedByServerIds(java.lang.String[] serverIds)
Specified by:
countTimersOwnedByServerIds in interface TimerLocal

countActiveTimersOwnedByThisServer

public int countActiveTimersOwnedByThisServer()
Specified by:
countActiveTimersOwnedByThisServer in interface TimerLocal

countCancelledTimersOwnedByThisServer

public int countCancelledTimersOwnedByThisServer()
Specified by:
countCancelledTimersOwnedByThisServer in interface TimerLocal

countTimersOwnedBy

public int countTimersOwnedBy(java.lang.String ownerId)
Specified by:
countTimersOwnedBy in interface TimerLocal

countActiveTimersOwnedBy

public int countActiveTimersOwnedBy(java.lang.String ownerId)
Specified by:
countActiveTimersOwnedBy in interface TimerLocal

countCancelledTimersOwnedBy

public int countCancelledTimersOwnedBy(java.lang.String ownerId)
Specified by:
countCancelledTimersOwnedBy in interface TimerLocal

checkStatus

public boolean checkStatus(java.lang.String resourceJndiName,
                           boolean checkDatabase)
Specified by:
checkStatus in interface TimerLocal

migrateTimers

public int migrateTimers(java.lang.String fromOwnerId,
                         java.lang.String toOwnerId)
Specified by:
migrateTimers in interface TimerLocal

deleteTimersByContainer

public int deleteTimersByContainer(long containerId)
Specified by:
deleteTimersByContainer in interface TimerLocal

deleteTimersByApplication

public int deleteTimersByApplication(long applicationId)
Specified by:
deleteTimersByApplication in interface TimerLocal

testCreate

public static void testCreate(java.lang.String timerId,
                              EJBContext context,
                              java.lang.String ownerId,
                              java.util.Date initialExpiration,
                              long intervalDuration,
                              java.io.Serializable info)
                       throws CreateException
Throws:
CreateException

testMigrate

public static void testMigrate(java.lang.String fromOwnerId)

getContainer

public static BaseContainer getContainer(long containerId)

findActiveNonPersistentTimersOwnedByThisServer

public java.util.Set findActiveNonPersistentTimersOwnedByThisServer()
Specified by:
findActiveNonPersistentTimersOwnedByThisServer in interface TimerLocal


Copyright © 2012 GlassFish Community. All Rights Reserved.