Package com.coditory.sherlock
Class DistributedLockMock
java.lang.Object
com.coditory.sherlock.DistributedLockMock
- All Implemented Interfaces:
DistributedLock
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.coditory.sherlock.DistributedLock
DistributedLock.AcquireAndExecuteResult, DistributedLock.ReleaseAndExecuteResult
-
Method Summary
Modifier and TypeMethodDescriptionboolean
acquire()
Try to acquire the lock.boolean
Try to acquire the lock for a given duration.static DistributedLockMock
static DistributedLockMock
acquiredInMemoryLock
(String lockId) static DistributedLockMock
static DistributedLockMock
acquiredReentrantInMemoryLock
(String lockId) boolean
Try to acquire the lock without expiring date.int
getId()
Return the lock id.static DistributedLockMock
lockStub
(boolean result) static DistributedLockMock
lockStub
(boolean acquireResult, boolean releaseResult) static DistributedLockMock
static DistributedLockMock
int
int
boolean
release()
Try to release the lock.static DistributedLockMock
static DistributedLockMock
releasedInMemoryLock
(String lockId) static DistributedLockMock
static DistributedLockMock
releasedReentrantInMemoryLock
(String lockId) int
releases()
static DistributedLockMock
static DistributedLockMock
sequencedLock
(List<Boolean> acquireResults, 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
acquireAndExecute, acquireAndExecute, acquireForeverAndExecute, releaseAndExecute
-
Method Details
-
releasedInMemoryLock
-
acquiredInMemoryLock
-
releasedInMemoryLock
-
acquiredInMemoryLock
-
releasedReentrantInMemoryLock
-
acquiredReentrantInMemoryLock
-
releasedReentrantInMemoryLock
-
acquiredReentrantInMemoryLock
-
lockStub
-
lockStub
-
lockStub
-
lockStub
public static DistributedLockMock lockStub(String lockId, boolean acquireResult, boolean releaseResult) -
sequencedLock
public static DistributedLockMock sequencedLock(List<Boolean> acquireResults, List<Boolean> releaseResults) -
sequencedLock
-
getId
Description copied from interface:DistributedLock
Return the lock id.- Specified by:
getId
in interfaceDistributedLock
- Returns:
- the lock id
-
acquire
public boolean acquire()Description copied from interface:DistributedLock
Try to acquire the lock. Lock is acquired for a pre configured duration.- Specified by:
acquire
in interfaceDistributedLock
- Returns:
- true if lock is acquired
-
acquire
Description copied from interface:DistributedLock
Try to acquire the lock for a given duration.- Specified by:
acquire
in interfaceDistributedLock
- Parameters:
duration
- how much time must pass for the acquired lock to expire- Returns:
- true if lock is acquired
-
acquireForever
public boolean acquireForever()Description copied from interface:DistributedLock
Try to acquire the lock without expiring date.It is potentially dangerous. Lookout for a situation when the lock owning instance goes down with out releasing the lock.
- Specified by:
acquireForever
in interfaceDistributedLock
- Returns:
- true if lock is acquired
-
release
public boolean release()Description copied from interface:DistributedLock
Try 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
-