public class LocksDao
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
java.lang.String |
instanceId |
| Constructor and Description |
|---|
LocksDao(com.mongodb.client.MongoCollection<org.bson.Document> locksCollection,
Clock clock,
java.lang.String instanceId) |
| Modifier and Type | Method and Description |
|---|---|
void |
createIndex(boolean clustered) |
void |
dropIndex() |
org.bson.Document |
findJobLock(org.quartz.JobKey job) |
java.util.List<org.quartz.TriggerKey> |
findOwnTriggersLocks() |
org.bson.Document |
findTriggerLock(org.quartz.TriggerKey trigger) |
com.mongodb.client.MongoCollection<org.bson.Document> |
getCollection() |
void |
lockJob(org.quartz.JobDetail job) |
void |
lockTrigger(org.quartz.TriggerKey key) |
boolean |
relock(org.quartz.TriggerKey key,
java.util.Date lockTime)
Lock given trigger iff its lockTime haven't changed.
|
void |
remove(org.bson.Document lock) |
void |
unlockJob(org.quartz.JobDetail job) |
void |
unlockTrigger(org.quartz.spi.OperableTrigger trigger)
Unlock the trigger if it still belongs to the current scheduler.
|
boolean |
updateOwnLock(org.quartz.TriggerKey key)
Reset lock time on own lock.
|
public LocksDao(com.mongodb.client.MongoCollection<org.bson.Document> locksCollection,
Clock clock,
java.lang.String instanceId)
public com.mongodb.client.MongoCollection<org.bson.Document> getCollection()
public void createIndex(boolean clustered)
public void dropIndex()
public org.bson.Document findJobLock(org.quartz.JobKey job)
public org.bson.Document findTriggerLock(org.quartz.TriggerKey trigger)
public java.util.List<org.quartz.TriggerKey> findOwnTriggersLocks()
public void lockJob(org.quartz.JobDetail job)
public void lockTrigger(org.quartz.TriggerKey key)
public boolean relock(org.quartz.TriggerKey key,
java.util.Date lockTime)
Update is performed using "Update document if current" pattern to update iff document in DB hasn't changed - haven't been relocked by other scheduler.
key - identifies trigger locklockTime - expected current lockTimepublic boolean updateOwnLock(org.quartz.TriggerKey key)
throws org.quartz.JobPersistenceException
key - trigger whose lock to refreshorg.quartz.JobPersistenceException - in case of errors from Mongopublic void remove(org.bson.Document lock)
public void unlockTrigger(org.quartz.spi.OperableTrigger trigger)
trigger - to unlockpublic void unlockJob(org.quartz.JobDetail job)