EJBTimerService.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.ejb.txtimer; // $Id: EJBTimerService.java,v 1.9 2004/09/10 21:51:04 tdiesler Exp $ import org.jboss.ejb.Container; import org.jboss.mx.util.ObjectNameFactory; import javax.ejb.Timer; import javax.ejb.TimerService; import javax.management.ObjectName; /** * A service that implements this interface provides an Tx aware EJBTimerService. * * @author Thomas.Diesler@jboss.org * @since 07-Apr-2004 */ public interface EJBTimerService { /** * default object name */ public static final javax.management.ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ejb:service=EJBTimerService"); /** * Create a TimerService for a given TimedObjectId that lives in a JBoss Container. * The TimedObjectInvoker is constructed from the invokerClassName. * * @param containerId The string identifier for a class of TimedObjects * @param pKey The rimary key for an instance of a TimedObject, may be null * @param container The Container that is associated with the TimerService * @return the TimerService */ TimerService createTimerService(ObjectName containerId, Object pKey, Container container) throws IllegalStateException; /** * Create a TimerService for a given TimedObjectId that is invoked through the given invoker * * @param containerId The string identifier for a class of TimedObjects * @param pKey The rimary key for an instance of a TimedObject, may be null * @param invoker The TimedObjectInvoker * @return the TimerService */ TimerService createTimerService(ObjectName containerId, Object pKey, TimedObjectInvoker invoker) throws IllegalStateException; /** * Get the TimerService for a given TimedObjectId * * @param containerId The string identifier for a class of TimedObjects * @param pKey The rimary key for an instance of a TimedObject, may be null * @return The TimerService, or null if it does not exist */ TimerService getTimerService(ObjectName containerId, Object pKey) throws IllegalStateException; /** * Invokes the ejbTimeout method a given TimedObjectId * * @param containerId The string identifier for a class of TimedObjects * @param pKey The rimary key for an instance of a TimedObject, may be null * @param timer the Timer that is passed to ejbTimeout */ void retryTimeout(ObjectName containerId, Object pKey, Timer timer); /** * Remove the TimerService for a given TimedObjectId * * @param containerId The string identifier for a class of TimedObjects * @param pKey The rimary key for an instance of a TimedObject, may be null */ void removeTimerService(ObjectName containerId, Object pKey) throws IllegalStateException; }
EJBTimerService.java |