public abstract class TransactionalDatabaseLockStorage extends AbstractDatabaseStorage implements LockStorage
dataSource, dbResourceAccessor, jdbcTemplate, resourceAccessor, resourceLoader, transactionManager| Constructor and Description |
|---|
TransactionalDatabaseLockStorage() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract LockState |
createDbLock(String processName,
LocalDateTime until,
String unlockKey) |
LockState |
createLock(String processName,
LocalDateTime until,
String unlockKey)
Method stores lock.
|
LocalDateTime |
getCurrentDatabaseTime()
Returns current database time, that is shared among nodes.
|
protected abstract LockState |
getDbProcessLock(String processName,
LocalDateTime currentDate) |
LockState |
getProcessLock(String processName,
LocalDateTime currentDate)
Method returns data about existing / nonexistent lock.
|
protected abstract LockState |
releaseDbProcess(String processName,
String unlockKey) |
LockState |
releaseProcess(String processName,
String unlockKey)
Method releases lock.
|
protected abstract LockState |
renewDbLease(LocalDateTime until,
String processName,
String unlockKey) |
LockState |
renewLease(String processName,
String unlockKey,
LocalDateTime until)
Renews lease date for particular process, if you have correct unlock key (otherwise exception is thrown)
|
afterPropertiesSet, getPlatform, setDataSource, setResourceLoaderpublic LocalDateTime getCurrentDatabaseTime()
LockStoragegetCurrentDatabaseTime in interface LockStoragepublic LockState getProcessLock(String processName, LocalDateTime currentDate)
LockStoragegetProcessLock in interface LockStoragepublic LockState createLock(String processName, LocalDateTime until, String unlockKey)
LockStoragecreateLock in interface LockStorageprocessName - name of the process we want to lockuntil - date until lock should be kept providing no one has unlock it by thenunlockKey - unlock key to be stored with lockpublic LockState releaseProcess(String processName, String unlockKey)
LockStoragereleaseProcess in interface LockStorageprocessName - name of the process we want to unlockunlockKey - key for unlocking the processpublic LockState renewLease(String processName, String unlockKey, LocalDateTime until)
LockStoragerenewLease in interface LockStorageprotected abstract LockState getDbProcessLock(String processName, LocalDateTime currentDate)
protected abstract LockState createDbLock(String processName, LocalDateTime until, String unlockKey)
protected abstract LockState releaseDbProcess(String processName, String unlockKey)
protected abstract LockState renewDbLease(LocalDateTime until, String processName, String unlockKey)
Copyright © 2020 FG Forrest, a.s.. All rights reserved.