Class DbObjectLock

  • All Implemented Interfaces:
    ObjectLock

    public class DbObjectLock
    extends Object
    implements ObjectLock
    Lock implementation that writes to a DB table to lock a resource. The row is deleted when the lock is released. The lock expires if the row has not been deleted within a configurable period of time.
    • Method Detail

      • doInWriteLock

        public void doInWriteLock​(String objectId,
                                  Runnable doInLock)
        Executes the code block after securing a write lock on the objectId. The lock is released after the block completes.
        Specified by:
        doInWriteLock in interface ObjectLock
        Parameters:
        objectId - id of the object
        doInLock - block to execute within the lock
      • doInWriteLock

        public <T> T doInWriteLock​(String objectId,
                                   Callable<T> doInLock)
        Executes the code block after securing a write lock on the objectId. The lock is released after the block completes.
        Specified by:
        doInWriteLock in interface ObjectLock
        Type Parameters:
        T - return type
        Parameters:
        objectId - id of the object
        doInLock - block to execute within the lock
        Returns:
        object