| DatabasePersistencePlugin.java |
/*
* JBoss, the OpenSource J2EE webOS
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.ejb.txtimer;
// $Id: DatabasePersistencePlugin.java,v 1.1.2.2 2004/11/11 14:26:39 tdiesler Exp $
import javax.management.MBeanServer;
import javax.management.ObjectName;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
/**
* An implementation of of this interface provides database specific JDBC access that is
* not portable accros RDBMS systems.
*
* @author Thomas.Diesler@jboss.org
* @since 23-Sep-2004
*/
public interface DatabasePersistencePlugin
{
/** Initialize the plugin */
void init(MBeanServer server, ObjectName dataSource) throws SQLException;
/** Create the timers table if it does not exist already */
void createTableIfNotExists() throws SQLException;
/** Insert a timer object */
void insertTimer(String timerId, TimedObjectId timedObjectId, Date initialExpiration, long intervalDuration, Serializable info) throws SQLException;
/** Select a list of currently persisted timer handles
* @return List<TimerHandleImpl>
*/
List selectTimers() throws SQLException;
/** Delete a timer. */
void deleteTimer(String timerId, TimedObjectId timedObjectId) throws SQLException;
/** Clear all persisted timers */
void clearTimers() throws SQLException;
/** Get the timer table name */
String getTableName();
/** Get the timer ID column name */
String getColumnTimerID();
/** Get the target ID column name */
String getColumnTargetID();
/** Get the initial date column name */
String getColumnInitialDate();
/** Get the timer interval column name */
String getColumnTimerInterval();
/** Get the instance PK column name */
String getColumnInstancePK();
/** Get the info column name */
String getColumnInfo();
}
| DatabasePersistencePlugin.java |