org.quartz.impl.jdbcjobstore
public abstract class DBSemaphore extends java.lang.Object implements Semaphore, Constants, StdJDBCConstants, TablePrefixAware
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
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 and Description |
---|
DBSemaphore(java.lang.String tablePrefix,
java.lang.String sql,
java.lang.String defaultSQL) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
executeSQL(java.sql.Connection conn,
java.lang.String lockName,
java.lang.String expandedSQL)
Execute the SQL that will lock the proper database row.
|
protected org.apache.commons.logging.Log |
getLog() |
protected java.lang.String |
getSQL() |
protected java.lang.String |
getTablePrefix() |
boolean |
isLockOwner(java.sql.Connection conn,
java.lang.String lockName)
Determine whether the calling thread owns a lock on the identified
resource.
|
boolean |
obtainLock(java.sql.Connection conn,
java.lang.String lockName)
Grants a lock on the identified resource to the calling thread (blocking
until it is available).
|
void |
releaseLock(java.sql.Connection conn,
java.lang.String lockName)
Release the lock on the identified resource if it is held by the calling
thread.
|
boolean |
requiresConnection()
This Semaphore implementation does use the database.
|
protected void |
setSQL(java.lang.String sql) |
void |
setTablePrefix(java.lang.String tablePrefix) |
public DBSemaphore(java.lang.String tablePrefix, java.lang.String sql, java.lang.String defaultSQL)
protected org.apache.commons.logging.Log getLog()
protected abstract void executeSQL(java.sql.Connection conn, java.lang.String lockName, java.lang.String expandedSQL) throws LockException
LockException
public boolean obtainLock(java.sql.Connection conn, java.lang.String lockName) throws LockException
obtainLock
in interface Semaphore
conn
- Database connection used to establish lock. Can be null if
Semaphore.requiresConnection()
returns false.LockException
public void releaseLock(java.sql.Connection conn, java.lang.String lockName)
releaseLock
in interface Semaphore
conn
- Database connection used to establish lock. Can be null if
Semaphore.requiresConnection()
returns false.public boolean isLockOwner(java.sql.Connection conn, java.lang.String lockName)
isLockOwner
in interface Semaphore
conn
- Database connection used to establish lock. Can be null if
Semaphore.requiresConnection()
returns false.public boolean requiresConnection()
requiresConnection
in interface Semaphore
Semaphore.isLockOwner(Connection, String)
,
Semaphore.obtainLock(Connection, String)
,
Semaphore.releaseLock(Connection, String)
protected java.lang.String getSQL()
protected void setSQL(java.lang.String sql)
protected java.lang.String getTablePrefix()
public void setTablePrefix(java.lang.String tablePrefix)
setTablePrefix
in interface TablePrefixAware
Copyright © 2014. All Rights Reserved.