Class DefaultInitLockDao
- java.lang.Object
-
- de.hybris.platform.core.system.impl.DefaultInitLockDao
-
- All Implemented Interfaces:
InitializationLockDao
,java.io.Serializable
public class DefaultInitLockDao extends java.lang.Object implements InitializationLockDao
Implementation of theInitializationLockDao
.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DefaultInitLockDao()
DefaultInitLockDao(QueryProvider queryProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
createTable()
Optionally creates table.protected HybrisDataSource
getInitializedMasterDataSource()
Method reinitializes a instance property to most accurate, so as a result we would have always an openHybrisDataSource
if possible.long
getUniqueInstanceIdentifier()
Identifier specific for running platform.boolean
insertRow()
Optionally inserts lock row.boolean
lockRow(Tenant forTenant, java.lang.String processName)
Locks row using cluster node ID from given tenant.InitializationLockInfo
readLockInfo()
Reads current locking information.boolean
releaseRow(Tenant forTenant)
Releases existing lock.
-
-
-
Constructor Detail
-
DefaultInitLockDao
public DefaultInitLockDao()
-
DefaultInitLockDao
public DefaultInitLockDao(QueryProvider queryProvider)
-
-
Method Detail
-
getInitializedMasterDataSource
protected HybrisDataSource getInitializedMasterDataSource()
Method reinitializes a instance property to most accurate, so as a result we would have always an openHybrisDataSource
if possible.
-
readLockInfo
public InitializationLockInfo readLockInfo()
Description copied from interface:InitializationLockDao
Reads current locking information.- Specified by:
readLockInfo
in interfaceInitializationLockDao
- Returns:
null
if no lock row or table exists, the info object otherwise
-
lockRow
public boolean lockRow(Tenant forTenant, java.lang.String processName)
Description copied from interface:InitializationLockDao
Locks row using cluster node ID from given tenant. Requires lock not being taken before (no matter by which cluster node!).- Specified by:
lockRow
in interfaceInitializationLockDao
-
releaseRow
public boolean releaseRow(Tenant forTenant)
Description copied from interface:InitializationLockDao
Releases existing lock. Tenant must have cluster node ID that matches the one inside the lock!- Specified by:
releaseRow
in interfaceInitializationLockDao
-
insertRow
public boolean insertRow()
Description copied from interface:InitializationLockDao
Optionally inserts lock row.- Specified by:
insertRow
in interfaceInitializationLockDao
- Returns:
true
if row could be inserted or row already exists,false
on other errors (e.g. table not existing)
-
createTable
public void createTable()
Description copied from interface:InitializationLockDao
Optionally creates table. If table already exists it does nothing.- Specified by:
createTable
in interfaceInitializationLockDao
-
getUniqueInstanceIdentifier
public long getUniqueInstanceIdentifier()
Description copied from interface:InitializationLockDao
Identifier specific for running platform. Every platform startup standalone or other should have own unique identifier.- Specified by:
getUniqueInstanceIdentifier
in interfaceInitializationLockDao
-
-