Package liquibase.ext
Class TimeoutLockService
java.lang.Object
liquibase.lockservice.StandardLockService
liquibase.ext.TimeoutLockService
- All Implemented Interfaces:
liquibase.lockservice.LockService,liquibase.servicelocator.PrioritizedService
public class TimeoutLockService
extends liquibase.lockservice.StandardLockService
Will force release any locks older than the configured changeLogLockWaitTimeInMinutes to avoid crash loops due to
unclean shutdowns.
-
Field Summary
FieldsFields inherited from class liquibase.lockservice.StandardLockService
changeLogLockPollRate, changeLogLockRecheckTime, coreBundle, database, hasChangeLogLock, hasDatabaseChangeLogLockTable, isDatabaseChangeLogLockTableInitialized, quotingStrategy, randomFields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanintvoidstatic voidsetRenewalConnectionCreator(rx.functions.Func0<liquibase.database.Database> createRenewalConnectionCreator) voidMethods inherited from class liquibase.lockservice.StandardLockService
destroy, forceReleaseLock, getChangeLogLockRecheckTime, getChangeLogLockWaitTime, hasChangeLogLock, hasDatabaseChangeLogLockTable, hasDatabaseChangeLogLockTable, init, isDatabaseChangeLogLockTableInitialized, isDatabaseChangeLogLockTableInitialized, listLocks, reset, setChangeLogLockRecheckTime, setChangeLogLockWaitTime, setDatabase, supports
-
Field Details
-
DEFAULT_LOCK_RENEWAL_INTERVAL
public static final int DEFAULT_LOCK_RENEWAL_INTERVAL- See Also:
-
-
Constructor Details
-
TimeoutLockService
public TimeoutLockService() -
TimeoutLockService
public TimeoutLockService(long lockRenewalInterval)
-
-
Method Details
-
waitForLock
public void waitForLock() throws liquibase.exception.LockException- Specified by:
waitForLockin interfaceliquibase.lockservice.LockService- Overrides:
waitForLockin classliquibase.lockservice.StandardLockService- Throws:
liquibase.exception.LockException
-
getPriority
public int getPriority()- Specified by:
getPriorityin interfaceliquibase.servicelocator.PrioritizedService- Overrides:
getPriorityin classliquibase.lockservice.StandardLockService
-
acquireLock
public boolean acquireLock() throws liquibase.exception.LockException- Specified by:
acquireLockin interfaceliquibase.lockservice.LockService- Overrides:
acquireLockin classliquibase.lockservice.StandardLockService- Throws:
liquibase.exception.LockException
-
releaseLock
public void releaseLock() throws liquibase.exception.LockException- Specified by:
releaseLockin interfaceliquibase.lockservice.LockService- Overrides:
releaseLockin classliquibase.lockservice.StandardLockService- Throws:
liquibase.exception.LockException
-
setRenewalConnectionCreator
public static void setRenewalConnectionCreator(rx.functions.Func0<liquibase.database.Database> createRenewalConnectionCreator)
-