org.quartz.impl.jdbcjobstore
Class CacheDelegate

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

public class CacheDelegate
extends StdJDBCDelegate

This is a driver delegate for Intersystems Caché database.

Works with the Oracle table creation scripts / schema.

Author:
Franck Routier, Franck Routier

Field Summary
 
Fields inherited from class org.quartz.impl.jdbcjobstore.StdJDBCDelegate
classLoadHelper, instanceId, logger, schedName, tablePrefix, triggerPersistenceDelegates, useProperties
 
Fields inherited from interface org.quartz.impl.jdbcjobstore.StdJDBCConstants
COUNT_MISFIRED_TRIGGERS_IN_STATE, DELETE_ALL_BLOB_TRIGGERS, DELETE_ALL_CALENDARS, DELETE_ALL_CRON_TRIGGERS, DELETE_ALL_JOB_DETAILS, DELETE_ALL_PAUSED_TRIGGER_GRPS, DELETE_ALL_SIMPLE_TRIGGERS, DELETE_ALL_SIMPROP_TRIGGERS, DELETE_ALL_TRIGGERS, DELETE_BLOB_TRIGGER, DELETE_CALENDAR, DELETE_CRON_TRIGGER, DELETE_FIRED_TRIGGER, DELETE_FIRED_TRIGGERS, DELETE_INSTANCES_FIRED_TRIGGERS, DELETE_JOB_DETAIL, DELETE_NO_RECOVERY_FIRED_TRIGGERS, DELETE_PAUSED_TRIGGER_GROUP, DELETE_PAUSED_TRIGGER_GROUPS, DELETE_SCHEDULER_STATE, DELETE_SIMPLE_TRIGGER, DELETE_TRIGGER, INSERT_BLOB_TRIGGER, INSERT_CALENDAR, INSERT_CRON_TRIGGER, INSERT_FIRED_TRIGGER, INSERT_JOB_DETAIL, INSERT_PAUSED_TRIGGER_GROUP, INSERT_SCHEDULER_STATE, INSERT_SIMPLE_TRIGGER, INSERT_TRIGGER, SCHED_NAME_SUBST, 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_HAS_MISFIRED_TRIGGERS_IN_STATE, 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_NONCONCURRENT, SELECT_JOBS_IN_GROUP, SELECT_JOBS_IN_GROUP_LIKE, SELECT_MISFIRED_TRIGGERS, SELECT_MISFIRED_TRIGGERS_IN_GROUP_IN_STATE, SELECT_MISFIRED_TRIGGERS_IN_STATE, 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_TRIGGER, SELECT_TRIGGER_DATA, SELECT_TRIGGER_EXISTENCE, SELECT_TRIGGER_FOR_FIRE_TIME, SELECT_TRIGGER_GROUPS, SELECT_TRIGGER_GROUPS_FILTERED, SELECT_TRIGGER_STATE, SELECT_TRIGGER_STATUS, SELECT_TRIGGERS_FOR_CALENDAR, SELECT_TRIGGERS_FOR_JOB, SELECT_TRIGGERS_IN_GROUP, SELECT_TRIGGERS_IN_GROUP_LIKE, SELECT_TRIGGERS_IN_STATE, TABLE_PREFIX_SUBST, UPDATE_BLOB_TRIGGER, UPDATE_CALENDAR, UPDATE_CRON_TRIGGER, UPDATE_FIRED_TRIGGER, 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_FROM_STATE, UPDATE_TRIGGER_GROUP_STATE_FROM_STATES, UPDATE_TRIGGER_SKIP_DATA, UPDATE_TRIGGER_STATE, 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_NONCONCURRENT, COL_IS_UPDATE_DATA, COL_IS_VOLATILE, COL_JOB_CLASS, COL_JOB_DATAMAP, COL_JOB_GROUP, 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_SCHED_TIME, COL_SCHEDULER_NAME, COL_START_TIME, COL_TIME_ZONE_ID, COL_TIMES_TRIGGERED, COL_TRIGGER_GROUP, 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_LOCKS, TABLE_PAUSED_TRIGGERS, TABLE_SCHEDULER_STATE, TABLE_SIMPLE_TRIGGERS, TABLE_TRIGGERS, TTYPE_BLOB, TTYPE_CAL_INT, TTYPE_CRON, TTYPE_DAILY_TIME_INT, TTYPE_SIMPLE
 
Constructor Summary
CacheDelegate()
           
 
Method Summary
protected  Object getJobDataFromBlob(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.
protected  void setBytes(PreparedStatement ps, int index, ByteArrayOutputStream baos)
          Sets the designated parameter to the byte array of the given ByteArrayOutputStream.
 
Methods inherited from class org.quartz.impl.jdbcjobstore.StdJDBCDelegate
addDefaultTriggerPersistenceDelegates, addTriggerPersistenceDelegate, calendarExists, calendarIsReferenced, canUseProperties, clearData, closeResultSet, closeStatement, convertFromProperty, convertToProperty, countMisfiredTriggersInState, deleteAllPausedTriggerGroups, deleteBlobTrigger, deleteCalendar, deleteFiredTrigger, deleteFiredTriggers, deleteFiredTriggers, deleteJobDetail, deletePausedTriggerGroup, deletePausedTriggerGroup, deleteSchedulerState, deleteTrigger, deleteTriggerExtension, findTriggerPersistenceDelegate, findTriggerPersistenceDelegate, getBoolean, getBoolean, getKeyOfNonSerializableValue, getSchedulerNameLiteral, hasMisfiredTriggersInState, initialize, insertBlobTrigger, insertCalendar, insertFiredTrigger, insertJobDetail, insertPausedTriggerGroup, insertSchedulerState, insertTrigger, isExistingTriggerGroup, isJobNonConcurrent, isMatcherEquals, isTriggerGroupPaused, jobExists, rtp, selectCalendar, selectCalendars, selectFiredTriggerInstanceNames, selectFiredTriggerRecords, selectFiredTriggerRecordsByJob, selectInstancesFiredTriggerRecords, selectJobDetail, selectJobExecutionCount, selectJobForTrigger, selectJobForTrigger, selectJobGroups, selectJobsInGroup, selectMisfiredTriggers, selectMisfiredTriggersInGroupInState, selectMisfiredTriggersInState, selectNextFireTime, selectNumCalendars, selectNumJobs, selectNumTriggers, selectNumTriggersForJob, selectPausedTriggerGroups, selectSchedulerStateRecords, selectTrigger, selectTriggerForFireTime, selectTriggerGroups, selectTriggerGroups, selectTriggerJobDataMap, selectTriggerKeysForJob, selectTriggersForCalendar, selectTriggersForJob, selectTriggersForRecoveringJobs, selectTriggersInGroup, selectTriggersInState, selectTriggerState, selectTriggerStatus, selectTriggerToAcquire, selectTriggerToAcquire, serializeJobData, serializeObject, setBoolean, toSqlEqualsClause, toSqlLikeClause, triggerExists, updateBlobTrigger, updateCalendar, updateFiredTrigger, updateJobData, updateJobDetail, updateSchedulerState, updateTrigger, updateTriggerGroupStateFromOtherState, updateTriggerGroupStateFromOtherStates, updateTriggerState, updateTriggerStateFromOtherState, updateTriggerStateFromOtherStates, updateTriggerStatesForJob, updateTriggerStatesForJobFromOtherState, updateTriggerStatesFromOtherStates
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CacheDelegate

public CacheDelegate()
Method Detail

setBytes

protected void setBytes(PreparedStatement ps,
                        int index,
                        ByteArrayOutputStream baos)
                 throws SQLException
Sets the designated parameter to the byte array of the given ByteArrayOutputStream. Will set parameter value to null if the ByteArrayOutputStream is null. This just wraps PreparedStatement.setBytes(int, byte[]) by default, but it can be overloaded by subclass delegates for databases that don't explicitly support storing bytes in this way.

Overrides:
setBytes in class StdJDBCDelegate
Throws:
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.

Caché requires java.sql.Blob instances to be explicitly freed.

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

getJobDataFromBlob

protected Object getJobDataFromBlob(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.

Caché requires java.sql.Blob instances to be explicitly freed.

Overrides:
getJobDataFromBlob 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


Copyright 2001-2015, Terracotta, Inc.