org.quartz.impl.jdbcjobstore
Class PointbaseDelegate

java.lang.Object
  extended by org.quartz.impl.jdbcjobstore.StdJDBCDelegate
      extended by org.quartz.impl.jdbcjobstore.PointbaseDelegate
All Implemented Interfaces:
Constants, StdJDBCConstants

public class PointbaseDelegate
extends StdJDBCDelegate

This is a driver delegate for the Pointbase JDBC driver.

Author:
Gregg Freeman

Field Summary
 
Fields inherited from class org.quartz.impl.jdbcjobstore.StdJDBCDelegate
instanceId, logger, tablePrefix, useProperties
 
Fields inherited from interface org.quartz.impl.jdbcjobstore.StdJDBCConstants
COUNT_MISFIRED_TRIGGERS_IN_STATES, DELETE_BLOB_TRIGGER, DELETE_CALENDAR, DELETE_CRON_TRIGGER, DELETE_FIRED_TRIGGER, DELETE_FIRED_TRIGGERS, DELETE_INSTANCES_FIRED_TRIGGERS, DELETE_JOB_DETAIL, DELETE_JOB_LISTENERS, DELETE_NO_RECOVERY_FIRED_TRIGGERS, DELETE_PAUSED_TRIGGER_GROUP, DELETE_PAUSED_TRIGGER_GROUPS, DELETE_SCHEDULER_STATE, DELETE_SIMPLE_TRIGGER, DELETE_TRIGGER, DELETE_TRIGGER_LISTENERS, DELETE_VOLATILE_FIRED_TRIGGERS, INSERT_BLOB_TRIGGER, INSERT_CALENDAR, INSERT_CRON_TRIGGER, INSERT_FIRED_TRIGGER, INSERT_JOB_DETAIL, INSERT_JOB_LISTENER, INSERT_PAUSED_TRIGGER_GROUP, INSERT_SCHEDULER_STATE, INSERT_SIMPLE_TRIGGER, INSERT_TRIGGER, INSERT_TRIGGER_LISTENER, SELECT_BLOB_TRIGGER, SELECT_CALENDAR, SELECT_CALENDAR_EXISTENCE, SELECT_CALENDARS, SELECT_CRON_TRIGGER, SELECT_FIRED_TRIGGER, SELECT_FIRED_TRIGGER_GROUP, SELECT_FIRED_TRIGGER_INSTANCE_NAMES, SELECT_FIRED_TRIGGERS, SELECT_FIRED_TRIGGERS_OF_JOB, SELECT_FIRED_TRIGGERS_OF_JOB_GROUP, SELECT_INSTANCES_FIRED_TRIGGERS, SELECT_INSTANCES_RECOVERABLE_FIRED_TRIGGERS, SELECT_JOB_DETAIL, SELECT_JOB_EXECUTION_COUNT, SELECT_JOB_EXISTENCE, SELECT_JOB_FOR_TRIGGER, SELECT_JOB_GROUPS, SELECT_JOB_LISTENERS, SELECT_JOB_STATEFUL, SELECT_JOBS_IN_GROUP, SELECT_MISFIRED_TRIGGERS, SELECT_MISFIRED_TRIGGERS_IN_GROUP_IN_STATE, SELECT_MISFIRED_TRIGGERS_IN_STATE, SELECT_MISFIRED_TRIGGERS_IN_STATES, SELECT_NEXT_FIRE_TIME, SELECT_NEXT_TRIGGER_TO_ACQUIRE, SELECT_NUM_CALENDARS, SELECT_NUM_JOBS, SELECT_NUM_TRIGGERS, SELECT_NUM_TRIGGERS_FOR_JOB, SELECT_NUM_TRIGGERS_IN_GROUP, SELECT_PAUSED_TRIGGER_GROUP, SELECT_PAUSED_TRIGGER_GROUPS, SELECT_REFERENCED_CALENDAR, SELECT_SCHEDULER_STATE, SELECT_SCHEDULER_STATES, SELECT_SIMPLE_TRIGGER, SELECT_STATEFUL_JOBS_OF_TRIGGER_GROUP, SELECT_TRIGGER, SELECT_TRIGGER_DATA, SELECT_TRIGGER_EXISTENCE, SELECT_TRIGGER_FOR_FIRE_TIME, SELECT_TRIGGER_GROUPS, SELECT_TRIGGER_LISTENERS, SELECT_TRIGGER_STATE, SELECT_TRIGGER_STATUS, SELECT_TRIGGERS_FOR_CALENDAR, SELECT_TRIGGERS_FOR_JOB, SELECT_TRIGGERS_IN_GROUP, SELECT_TRIGGERS_IN_STATE, SELECT_VOLATILE_JOBS, SELECT_VOLATILE_TRIGGERS, TABLE_PREFIX_SUBST, UPDATE_BLOB_TRIGGER, UPDATE_CALENDAR, UPDATE_CRON_TRIGGER, UPDATE_INSTANCES_FIRED_TRIGGER_STATE, UPDATE_JOB_DATA, UPDATE_JOB_DETAIL, UPDATE_JOB_TRIGGER_STATES, UPDATE_JOB_TRIGGER_STATES_FROM_OTHER_STATE, UPDATE_SCHEDULER_STATE, UPDATE_SIMPLE_TRIGGER, UPDATE_TRIGGER, UPDATE_TRIGGER_GROUP_STATE, UPDATE_TRIGGER_GROUP_STATE_FROM_STATE, UPDATE_TRIGGER_GROUP_STATE_FROM_STATES, UPDATE_TRIGGER_SKIP_DATA, UPDATE_TRIGGER_STATE, UPDATE_TRIGGER_STATE_FROM_OTHER_STATES_BEFORE_TIME, UPDATE_TRIGGER_STATE_FROM_STATE, UPDATE_TRIGGER_STATE_FROM_STATES, UPDATE_TRIGGER_STATES_FROM_OTHER_STATES
 
Fields inherited from interface org.quartz.impl.jdbcjobstore.Constants
ALIAS_COL_NEXT_FIRE_TIME, ALL_GROUPS_PAUSED, COL_BLOB, COL_CALENDAR, COL_CALENDAR_NAME, COL_CHECKIN_INTERVAL, COL_CRON_EXPRESSION, COL_DESCRIPTION, COL_END_TIME, COL_ENTRY_ID, COL_ENTRY_STATE, COL_FIRED_TIME, COL_INSTANCE_NAME, COL_IS_DURABLE, COL_IS_STATEFUL, COL_IS_VOLATILE, COL_JOB_CLASS, COL_JOB_DATAMAP, COL_JOB_GROUP, COL_JOB_LISTENER, COL_JOB_NAME, COL_LAST_CHECKIN_TIME, COL_LOCK_NAME, COL_MISFIRE_INSTRUCTION, COL_NEXT_FIRE_TIME, COL_PREV_FIRE_TIME, COL_PRIORITY, COL_REPEAT_COUNT, COL_REPEAT_INTERVAL, COL_REQUESTS_RECOVERY, COL_START_TIME, COL_TIME_ZONE_ID, COL_TIMES_TRIGGERED, COL_TRIGGER_GROUP, COL_TRIGGER_LISTENER, COL_TRIGGER_NAME, COL_TRIGGER_STATE, COL_TRIGGER_TYPE, DEFAULT_TABLE_PREFIX, STATE_ACQUIRED, STATE_BLOCKED, STATE_COMPLETE, STATE_DELETED, STATE_ERROR, STATE_EXECUTING, STATE_MISFIRED, STATE_PAUSED, STATE_PAUSED_BLOCKED, STATE_WAITING, TABLE_BLOB_TRIGGERS, TABLE_CALENDARS, TABLE_CRON_TRIGGERS, TABLE_FIRED_TRIGGERS, TABLE_JOB_DETAILS, TABLE_JOB_LISTENERS, TABLE_LOCKS, TABLE_PAUSED_TRIGGERS, TABLE_SCHEDULER_STATE, TABLE_SIMPLE_TRIGGERS, TABLE_TRIGGER_LISTENERS, TABLE_TRIGGERS, TTYPE_BLOB, TTYPE_CRON, TTYPE_SIMPLE
 
Constructor Summary
PointbaseDelegate(org.apache.commons.logging.Log logger, String tablePrefix, String instanceId)
           Create new PointbaseJDBCDelegate instance.
PointbaseDelegate(org.apache.commons.logging.Log logger, String tablePrefix, String instanceId, Boolean useProperties)
           Create new PointbaseJDBCDelegate instance.
 
Method Summary
protected  Object getJobDetailFromBlob(ResultSet rs, String colName)
           This method should be overridden by any delegate subclasses that need special handling for BLOBs for job details.
protected  Object getObjectFromBlob(ResultSet rs, String colName)
           This method should be overridden by any delegate subclasses that need special handling for BLOBs.
 int insertCalendar(Connection conn, String calendarName, Calendar calendar)
           Insert a new calendar.
 int insertJobDetail(Connection conn, JobDetail job)
           Insert the job detail record.
 int insertTrigger(Connection conn, Trigger trigger, String state, JobDetail jobDetail)
           Insert the base trigger data.
 int updateCalendar(Connection conn, String calendarName, Calendar calendar)
           Update a calendar.
 int updateJobData(Connection conn, JobDetail job)
           Update the job data map for the given job.
 int updateJobDetail(Connection conn, JobDetail job)
           Update the job detail record.
 int updateTrigger(Connection conn, Trigger trigger, String state, JobDetail jobDetail)
           Update the base trigger data.
 
Methods inherited from class org.quartz.impl.jdbcjobstore.StdJDBCDelegate
calendarExists, calendarIsReferenced, canUseProperties, closeResultSet, closeStatement, convertFromProperty, convertToProperty, countMisfiredTriggersInStates, deleteAllPausedTriggerGroups, deleteBlobTrigger, deleteCalendar, deleteCronTrigger, deleteFiredTrigger, deleteFiredTriggers, deleteFiredTriggers, deleteJobDetail, deleteJobListeners, deletePausedTriggerGroup, deleteSchedulerState, deleteSimpleTrigger, deleteTrigger, deleteTriggerListeners, deleteVolatileFiredTriggers, getBoolean, getBoolean, getKeyOfNonSerializableValue, insertBlobTrigger, insertCronTrigger, insertFiredTrigger, insertJobListener, insertPausedTriggerGroup, insertSchedulerState, insertSimpleTrigger, insertTriggerListener, isExistingTriggerGroup, isJobStateful, isTriggerGroupPaused, jobExists, rtp, selectCalendar, selectCalendars, selectFiredTriggerInstanceNames, selectFiredTriggerRecords, selectFiredTriggerRecordsByJob, selectInstancesFiredTriggerRecords, selectJobDetail, selectJobExecutionCount, selectJobForTrigger, selectJobGroups, selectJobListeners, selectJobsInGroup, selectMisfiredTriggers, selectMisfiredTriggersInGroupInState, selectMisfiredTriggersInState, selectMisfiredTriggersInStates, selectNextFireTime, selectNumCalendars, selectNumJobs, selectNumTriggers, selectNumTriggersForJob, selectPausedTriggerGroups, selectSchedulerStateRecords, selectStatefulJobsOfTriggerGroup, selectTrigger, selectTriggerForFireTime, selectTriggerGroups, selectTriggerJobDataMap, selectTriggerListeners, selectTriggerNamesForJob, selectTriggersForCalendar, selectTriggersForJob, selectTriggersForRecoveringJobs, selectTriggersInGroup, selectTriggersInState, selectTriggerState, selectTriggerStatus, selectTriggerToAcquire, selectVolatileJobs, selectVolatileTriggers, serializeJobData, serializeObject, setBoolean, setBytes, triggerExists, updateBlobTrigger, updateCronTrigger, updateSchedulerState, updateSimpleTrigger, updateTriggerGroupStateFromOtherState, updateTriggerGroupStateFromOtherStates, updateTriggerState, updateTriggerStateFromOtherState, updateTriggerStateFromOtherStates, updateTriggerStateFromOtherStatesBeforeTime, updateTriggerStatesForJob, updateTriggerStatesForJobFromOtherState, updateTriggerStatesFromOtherStates
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PointbaseDelegate

public PointbaseDelegate(org.apache.commons.logging.Log logger,
                         String tablePrefix,
                         String instanceId)

Create new PointbaseJDBCDelegate instance.

Parameters:
logger - the logger to use during execution
tablePrefix - the prefix of all table names

PointbaseDelegate

public PointbaseDelegate(org.apache.commons.logging.Log logger,
                         String tablePrefix,
                         String instanceId,
                         Boolean useProperties)

Create new PointbaseJDBCDelegate instance.

Parameters:
logger - the logger to use during execution
tablePrefix - the prefix of all table names
Method Detail

insertJobDetail

public int insertJobDetail(Connection conn,
                           JobDetail job)
                    throws IOException,
                           SQLException

Insert the job detail record.

Overrides:
insertJobDetail in class StdJDBCDelegate
Parameters:
conn - the DB Connection
job - the job to insert
Returns:
number of rows inserted
Throws:
IOException - if there were problems serializing the JobDataMap
SQLException

updateJobDetail

public int updateJobDetail(Connection conn,
                           JobDetail job)
                    throws IOException,
                           SQLException

Update the job detail record.

Overrides:
updateJobDetail in class StdJDBCDelegate
Parameters:
conn - the DB Connection
job - the job to update
Returns:
number of rows updated
Throws:
IOException - if there were problems serializing the JobDataMap
SQLException

insertTrigger

public int insertTrigger(Connection conn,
                         Trigger trigger,
                         String state,
                         JobDetail jobDetail)
                  throws SQLException,
                         IOException
Description copied from class: StdJDBCDelegate

Insert the base trigger data.

Overrides:
insertTrigger in class StdJDBCDelegate
Parameters:
conn - the DB Connection
trigger - the trigger to insert
state - the state that the trigger should be stored in
Returns:
the number of rows inserted
Throws:
SQLException
IOException

updateTrigger

public int updateTrigger(Connection conn,
                         Trigger trigger,
                         String state,
                         JobDetail jobDetail)
                  throws SQLException,
                         IOException
Description copied from class: StdJDBCDelegate

Update the base trigger data.

Overrides:
updateTrigger in class StdJDBCDelegate
Parameters:
conn - the DB Connection
trigger - the trigger to insert
state - the state that the trigger should be stored in
Returns:
the number of rows updated
Throws:
SQLException
IOException

updateJobData

public int updateJobData(Connection conn,
                         JobDetail job)
                  throws IOException,
                         SQLException

Update the job data map for the given job.

Overrides:
updateJobData in class StdJDBCDelegate
Parameters:
conn - the DB Connection
job - the job to update
Returns:
the number of rows updated
Throws:
IOException - if there were problems serializing the JobDataMap
SQLException

insertCalendar

public int insertCalendar(Connection conn,
                          String calendarName,
                          Calendar calendar)
                   throws IOException,
                          SQLException

Insert a new calendar.

Overrides:
insertCalendar in class StdJDBCDelegate
Parameters:
conn - the DB Connection
calendarName - the name for the new calendar
calendar - the calendar
Returns:
the number of rows inserted
Throws:
IOException - if there were problems serializing the calendar
SQLException

updateCalendar

public int updateCalendar(Connection conn,
                          String calendarName,
                          Calendar calendar)
                   throws IOException,
                          SQLException

Update a calendar.

Overrides:
updateCalendar in class StdJDBCDelegate
Parameters:
conn - the DB Connection
calendarName - the name for the new calendar
calendar - the calendar
Returns:
the number of rows updated
Throws:
IOException - if there were problems serializing the calendar
SQLException

getObjectFromBlob

protected Object getObjectFromBlob(ResultSet rs,
                                   String colName)
                            throws ClassNotFoundException,
                                   IOException,
                                   SQLException

This method should be overridden by any delegate subclasses that need special handling for BLOBs. The default implementation uses standard JDBC java.sql.Blob operations.

Overrides:
getObjectFromBlob in class StdJDBCDelegate
Parameters:
rs - the result set, already queued to the correct row
colName - the column name for the BLOB
Returns:
the deserialized Object from the ResultSet BLOB
Throws:
ClassNotFoundException - if a class found during deserialization cannot be found
IOException - if deserialization causes an error
SQLException

getJobDetailFromBlob

protected Object getJobDetailFromBlob(ResultSet rs,
                                      String colName)
                               throws ClassNotFoundException,
                                      IOException,
                                      SQLException

This method should be overridden by any delegate subclasses that need special handling for BLOBs for job details. The default implementation uses standard JDBC java.sql.Blob operations.

Overrides:
getJobDetailFromBlob in class StdJDBCDelegate
Parameters:
rs - the result set, already queued to the correct row
colName - the column name for the BLOB
Returns:
the deserialized Object from the ResultSet BLOB
Throws:
ClassNotFoundException - if a class found during deserialization cannot be found
IOException - if deserialization causes an error
SQLException

Quartz Enterprise Job Scheduler Project Page