Class PessimisticForceIncrementLockingStrategy

  • All Implemented Interfaces:
    LockingStrategy

    public class PessimisticForceIncrementLockingStrategy
    extends Object
    implements LockingStrategy
    A pessimistic locking strategy where a lock is obtained by incrementing the version immediately, obtaining an exclusive write lock by side effect.

    This strategy is valid for LockMode.PESSIMISTIC_FORCE_INCREMENT.

    Since:
    3.5
    • Constructor Detail

      • PessimisticForceIncrementLockingStrategy

        public PessimisticForceIncrementLockingStrategy​(Lockable lockable,
                                                        LockMode lockMode)
        Construct locking strategy.
        Parameters:
        lockable - The metadata for the entity to be locked.
        lockMode - Indicates the type of lock to be acquired.
    • Method Detail

      • lock

        public void lock​(Object id,
                         Object version,
                         Object object,
                         int timeout,
                         EventSource session)
        Description copied from interface: LockingStrategy
        Acquire an appropriate type of lock on the underlying data that will endure until the end of the current transaction.
        Specified by:
        lock in interface LockingStrategy
        Parameters:
        id - The id of the row to be locked
        version - The current version (or null if not versioned)
        object - The object logically being locked (currently not used)
        timeout - timeout in milliseconds, 0 = no wait, -1 = wait indefinitely
        session - The session from which the lock request originated
      • getLockMode

        protected LockMode getLockMode()
        Retrieve the specific lock mode defined.
        Returns:
        The specific lock mode.