PersistencePolicy.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.ejb.txtimer; // $Id: PersistencePolicy.java,v 1.4.2.2 2004/09/22 09:39:45 tdiesler Exp $ import java.io.Serializable; import java.util.Date; import java.util.List; /** * Timers are persistent objects. In the event of a container crash, any single-event timers that have expired * during the intervening time before container restart must cause the ejbTimeout method to be invoked * upon restart. Any interval timers that have expired during the intervening time must cause the ejb- * Timeout method to be invoked at least once upon restart. * * @author Thomas.Diesler@jboss.org * @since 09-Sep-2004 */ public interface PersistencePolicy { /** * Inserts a timer into persistent storage. * * @param timerId The timer id * @param targetId The timed object id * @param firstEvent The point in time at which the first txtimer expiration must occur. * @param periode The number of milliseconds that must elapse between txtimer expiration notifications. * @param info A serializable handback object. */ void insertTimer(String timerId, TimedObjectId targetId, Date firstEvent, long periode, Serializable info); /** * Deletes a timer from persistent storage. * * @param timerId The timer id * @param timedObjectId The id of the timed object */ void deleteTimer(String timerId, TimedObjectId timedObjectId); /** * Clear the persisted timers */ void clearTimers(); /** * Restore the persistet timers */ void restoreTimers(); /** * Return a List of TimerHandle objects. */ List listTimerHandles(); }
PersistencePolicy.java |