Interface InitializationLockDao

All Superinterfaces:
Serializable
All Known Implementing Classes:
DefaultInitLockDao

public interface InitializationLockDao extends Serializable
Database specific logic for InitializationLockHandler.
  • Method Details

    • readLockInfo

      InitializationLockInfo readLockInfo()
      Reads current locking information.
      Returns:
      null if no lock row or table exists, the info object otherwise
    • releaseRow

      boolean releaseRow(Tenant forTenant)
      Releases existing lock. Tenant must have cluster node ID that matches the one inside the lock!
    • lockRow

      boolean lockRow(Tenant forTenant, String processName)
      Locks row using cluster node ID from given tenant. Requires lock not being taken before (no matter by which cluster node!).
    • insertRow

      boolean insertRow()
      Optionally inserts lock row.
      Returns:
      true if row could be inserted or row already exists, false on other errors (e.g. table not existing)
    • createTable

      void createTable()
      Optionally creates table. If table already exists it does nothing.
    • getUniqueInstanceIdentifier

      long getUniqueInstanceIdentifier()
      Identifier specific for running platform. Every platform startup standalone or other should have own unique identifier.