Interface IObjectLockManager

All Known Implementing Classes:
ObjectLockManager

public interface IObjectLockManager
Defines the object lock manager
  • Method Details

    • setObjectLockSize

      IObjectLockManager setObjectLockSize(Integer size)
      Sets the size of the object lock
      Parameters:
      size - the object lock size (positive number) or null
      Returns:
      the instance
    • setUnlockTimeout

      IObjectLockManager setUnlockTimeout(Long timeout)
      Sets the unlock timeout which defines how long an element can't be locked again after an unlock
      Parameters:
      timeout - the unlock timeout (positive number) or null
      Returns:
      the instance
    • lock

      <L extends Serializable> List<L> lock(List<L> theObjectLockList)
      Locks a list of objects inside the same JVM.
      Type Parameters:
      L - the object lock type
      Parameters:
      theObjectLockList - the list of objects to lock
      Returns:
      Returns only the successfully locked objects. It returns in all cases a list but it doesn't throws any exceptions!
    • unlock

      <L extends Serializable> List<L> unlock(List<L> theObjectLockList)
      Unlock a list of objects inside the same JVM.
      Type Parameters:
      L - the object lock type
      Parameters:
      theObjectLockList - the list of objects to unlock
      Returns:
      the list of objects to unlock
    • releaseResource

      void releaseResource()
      Release all object locks and resources
    • getLockStatistic

      StatisticCounter getLockStatistic()
      Get the object lock statistic (the number of lock elements)
      Returns:
      the object lock statistic
    • getUnlockStatistic

      StatisticCounter getUnlockStatistic()
      Get the statistics of locks that could not be obtained because of the unlock timeout.
      Returns:
      the object unlock statistic
    • getIgnoreLockStatistic

      StatisticCounter getIgnoreLockStatistic()
      Get the statistics of locks that could not be obtained because they are already locked.
      Returns:
      the ignore object lock statistic
    • getNumberOfLockSizeReached

      long getNumberOfLockSizeReached()
      Get the count of how many times the max lock size was reached
      Returns:
      the count of how many times the max lock size was reached