Class LiquibaseDBLockProvider
java.lang.Object
org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider
- All Implemented Interfaces:
DBLockProvider
,Provider
- Author:
- Marek Posolda
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.keycloak.models.dblock.DBLockProvider
DBLockProvider.Namespace
-
Constructor Summary
ConstructorDescriptionLiquibaseDBLockProvider
(LiquibaseDBLockProviderFactory factory, KeycloakSession session) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
Will destroy whole state of DB lock (drop table/collection to track locking).Returns the current provider namespace locked or nullvoid
Release previously acquired lock by this provider.boolean
void
Try to retrieve DB lock or wait if retrieve was unsuccessful.
-
Constructor Details
-
LiquibaseDBLockProvider
-
-
Method Details
-
waitForLock
Description copied from interface:DBLockProvider
Try to retrieve DB lock or wait if retrieve was unsuccessful. Throw exception if lock can't be retrieved within specified timeout (900 seconds by default) Throw exception if a different namespace has already been locked by this provider.- Specified by:
waitForLock
in interfaceDBLockProvider
- Parameters:
lock
- The namespace to lock
-
releaseLock
public void releaseLock()Description copied from interface:DBLockProvider
Release previously acquired lock by this provider.- Specified by:
releaseLock
in interfaceDBLockProvider
-
getCurrentLock
Description copied from interface:DBLockProvider
Returns the current provider namespace locked or null- Specified by:
getCurrentLock
in interfaceDBLockProvider
- Returns:
- The namespace locked or null if there is no lock
-
supportsForcedUnlock
public boolean supportsForcedUnlock()- Specified by:
supportsForcedUnlock
in interfaceDBLockProvider
- Returns:
- true if provider supports forced unlock at startup
-
destroyLockInfo
public void destroyLockInfo()Description copied from interface:DBLockProvider
Will destroy whole state of DB lock (drop table/collection to track locking).- Specified by:
destroyLockInfo
in interfaceDBLockProvider
-
close
public void close()
-