Interface NamedLockFactory

All Known Implementing Classes:
FileLockNamedLockFactory, LocalReadWriteLockNamedLockFactory, LocalSemaphoreNamedLockFactory, NamedLockFactorySupport, NoopNamedLockFactory

public interface NamedLockFactory
A factory of NamedLocks.
  • Method Summary

    Modifier and Type
    Method
    Description
    Creates or reuses existing NamedLock.
    default NamedLock
    Creates or reuses existing NamedLock.
    default <E extends Throwable>
    E
    onFailure(E failure)
    Method to notify factory about locking failure, to make it possible to provide more (factory specific) information about factory state when a locking operation failed.
    void
    Performs a clean shut down of the factory.
  • Method Details

    • getLock

      Creates or reuses existing NamedLock. Returns instance MUST BE treated as "resource", best in try-with-resource block.
      Parameters:
      key - the lock key, must not be null.
      Returns:
      named lock instance, never null.
    • getLock

      Creates or reuses existing NamedLock. Returns instance MUST BE treated as "resource", best in try-with-resource block.
      Parameters:
      keys - the lock keys, must not be null and must not be empty collection.
      Returns:
      named lock instance, never null.
      Since:
      2.0.0
    • shutdown

      void shutdown()
      Performs a clean shut down of the factory.
    • onFailure

      default <E extends Throwable> E onFailure(E failure)
      Method to notify factory about locking failure, to make it possible to provide more (factory specific) information about factory state when a locking operation failed. Factory may alter provided failure or provide information via some other side effect (for example via logging).

      The default implementation merely does what happened before: adds no extra information.

      Since:
      1.9.11