Package com.coditory.sherlock.test
Class DistributedLockMock
java.lang.Object
com.coditory.sherlock.test.DistributedLockMock
- All Implemented Interfaces:
DistributedLock
-
Method Summary
Modifier and TypeMethodDescriptionboolean
acquire()
Tries to acquire the lock.boolean
Tries to acquire the lock for a given duration.static @NotNull DistributedLockMock
static @NotNull DistributedLockMock
acquiredInMemoryLock
(@NotNull String lockId) static @NotNull DistributedLockMock
static @NotNull DistributedLockMock
acquiredReentrantInMemoryLock
(@NotNull String lockId) boolean
Tries to acquire the lock without expiration date.int
@NotNull String
getId()
Returns the lock id.static @NotNull DistributedLockMock
lockStub
(boolean result) static @NotNull DistributedLockMock
lockStub
(boolean acquireResult, boolean releaseResult) static @NotNull DistributedLockMock
static @NotNull DistributedLockMock
int
int
boolean
release()
Tries to release the lock.static @NotNull DistributedLockMock
static @NotNull DistributedLockMock
releasedInMemoryLock
(@NotNull String lockId) static @NotNull DistributedLockMock
static @NotNull DistributedLockMock
releasedReentrantInMemoryLock
(@NotNull String lockId) int
releases()
static @NotNull DistributedLockMock
sequencedLock
(@NotNull String lockId, @NotNull List<Boolean> acquireResults, @NotNull List<Boolean> releaseResults) static @NotNull DistributedLockMock
sequencedLock
(@NotNull List<Boolean> acquireResults, @NotNull List<Boolean> releaseResults) int
int
boolean
boolean
boolean
boolean
boolean
boolean
boolean
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.coditory.sherlock.DistributedLock
runLocked, runLocked, runLocked, runLocked
-
Method Details
-
releasedInMemoryLock
-
acquiredInMemoryLock
-
releasedInMemoryLock
@NotNull public static @NotNull DistributedLockMock releasedInMemoryLock(@NotNull @NotNull String lockId) -
acquiredInMemoryLock
@NotNull public static @NotNull DistributedLockMock acquiredInMemoryLock(@NotNull @NotNull String lockId) -
releasedReentrantInMemoryLock
-
acquiredReentrantInMemoryLock
-
releasedReentrantInMemoryLock
@NotNull public static @NotNull DistributedLockMock releasedReentrantInMemoryLock(@NotNull @NotNull String lockId) -
acquiredReentrantInMemoryLock
@NotNull public static @NotNull DistributedLockMock acquiredReentrantInMemoryLock(@NotNull @NotNull String lockId) -
lockStub
-
lockStub
@NotNull public static @NotNull DistributedLockMock lockStub(boolean acquireResult, boolean releaseResult) -
lockStub
@NotNull public static @NotNull DistributedLockMock lockStub(@NotNull @NotNull String lockId, boolean result) -
lockStub
@NotNull public static @NotNull DistributedLockMock lockStub(@NotNull @NotNull String lockId, boolean acquireResult, boolean releaseResult) -
sequencedLock
@NotNull public static @NotNull DistributedLockMock sequencedLock(@NotNull @NotNull List<Boolean> acquireResults, @NotNull @NotNull List<Boolean> releaseResults) -
sequencedLock
-
getId
Description copied from interface:DistributedLock
Returns the lock id.- Specified by:
getId
in interfaceDistributedLock
- Returns:
- the lock id
-
acquire
public boolean acquire()Description copied from interface:DistributedLock
Tries to acquire the lock. Lock is acquired for a pre-configured duration. I lock is not released manually, it becomes released after expiration time.- Specified by:
acquire
in interfaceDistributedLock
- Returns:
- true if lock is acquired
-
acquire
Description copied from interface:DistributedLock
Tries to acquire the lock for a given duration. If lock is not released manually, it becomes released after expiration time.- Specified by:
acquire
in interfaceDistributedLock
- Parameters:
duration
- lock expiration time when release is not executed- Returns:
- true if lock is acquired
-
acquireForever
public boolean acquireForever()Description copied from interface:DistributedLock
Tries to acquire the lock without expiration date.It is potentially dangerous. Lookout for a situation when the lock owning instance goes down without releasing the lock.
- Specified by:
acquireForever
in interfaceDistributedLock
- Returns:
- true if lock is acquired
-
release
public boolean release()Description copied from interface:DistributedLock
Tries to release the lock.- Specified by:
release
in interfaceDistributedLock
- Returns:
- true if lock was released by this method invocation. If lock has expired or was released earlier then false is returned.
-
successfulReleases
public int successfulReleases()- Returns:
- the count of successful releases
-
successfulAcquisitions
public int successfulAcquisitions()- Returns:
- the count of successful acquisitions
-
releases
public int releases()- Returns:
- the count of all releases (successful and unsuccessful)
-
acquisitions
public int acquisitions()- Returns:
- the count of all acquisitions (successful and unsuccessful)
-
rejectedReleases
public int rejectedReleases()- Returns:
- the count of rejected releases
-
rejectedAcquisitions
public int rejectedAcquisitions()- Returns:
- the count of rejected acquisitions
-
wasAcquired
public boolean wasAcquired()- Returns:
- true if lock was successfully acquired at least once
-
wasReleased
public boolean wasReleased()- Returns:
- true if lock was successfully released at least once
-
wasAcquiredAndReleased
public boolean wasAcquiredAndReleased()- Returns:
- true if lock was successfully acquired and released
-
wasAcquireRejected
public boolean wasAcquireRejected()- Returns:
- true if lock was acquired without success at least once
-
wasReleaseRejected
public boolean wasReleaseRejected()- Returns:
- true if lock was released without success at least once
-
wasAcquireInvoked
public boolean wasAcquireInvoked()- Returns:
- true if acquire operation was invoked at least once
-
wasReleaseInvoked
public boolean wasReleaseInvoked()- Returns:
- true if release operation was invoked at least once
-