public class RedissonSpinLock extends RedissonBaseLock
Lock
Implements reentrant lock.Implements a non-fair locking so doesn't guarantees an acquire order.
RedissonBaseLock.ExpirationEntry| Modifier and Type | Field and Description |
|---|---|
protected LockOptions.BackOff |
backOff |
protected long |
internalLockLeaseTime |
codec, name| Constructor and Description |
|---|
RedissonSpinLock(CommandAsyncExecutor commandExecutor,
String name,
LockOptions.BackOff backOff) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
clearExpire()
Clear an expire timeout or expire date for object.
|
RFuture<Boolean> |
clearExpireAsync()
Clear an expire timeout or expire date for object in async mode.
|
protected RFuture<Boolean> |
clearExpireAsync(String... keys) |
boolean |
expire(Instant instant)
Set an expire date for object.
|
boolean |
expire(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object.
|
RFuture<Boolean> |
expireAsync(Instant instant)
Set an expire date for object.
|
RFuture<Boolean> |
expireAsync(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object in async mode.
|
protected RFuture<Boolean> |
expireAsync(long timeToLive,
TimeUnit timeUnit,
String... keys) |
boolean |
expireAt(Date timestamp)
Use
RExpirable.expire(Instant) instead |
boolean |
expireAt(long timestamp)
Use
RExpirable.expire(Instant) instead |
RFuture<Boolean> |
expireAtAsync(Date timestamp)
Use
RExpirableAsync.expireAsync(Instant) instead |
RFuture<Boolean> |
expireAtAsync(long timestamp)
Use
RExpirableAsync.expireAsync(Instant) instead |
protected RFuture<Boolean> |
expireAtAsync(long timestamp,
String... keys) |
boolean |
forceUnlock()
Unlocks the lock independently of its state
|
RFuture<Boolean> |
forceUnlockAsync()
Unlocks the lock independently of its state
|
void |
lock() |
void |
lock(long leaseTime,
TimeUnit unit)
Acquires the lock with defined
leaseTime. |
RFuture<Void> |
lockAsync()
Acquires the lock.
|
RFuture<Void> |
lockAsync(long currentThreadId)
Acquires the lock by thread with defined
threadId. |
RFuture<Void> |
lockAsync(long leaseTime,
TimeUnit unit)
Acquires the lock with defined
leaseTime. |
RFuture<Void> |
lockAsync(long leaseTime,
TimeUnit unit,
long currentThreadId)
Acquires the lock with defined
leaseTime and threadId. |
void |
lockInterruptibly() |
void |
lockInterruptibly(long leaseTime,
TimeUnit unit)
Acquires the lock with defined
leaseTime. |
long |
remainTimeToLive()
Remaining time to live of Redisson object that has a timeout
|
RFuture<Long> |
remainTimeToLiveAsync()
Remaining time to live of Redisson object that has a timeout
|
boolean |
tryLock() |
boolean |
tryLock(long waitTime,
long leaseTime,
TimeUnit unit)
Tries to acquire the lock with defined
leaseTime. |
boolean |
tryLock(long waitTime,
TimeUnit unit) |
RFuture<Boolean> |
tryLockAsync()
Tries to acquire the lock.
|
RFuture<Boolean> |
tryLockAsync(long threadId)
Tries to acquire the lock by thread with specified
threadId. |
RFuture<Boolean> |
tryLockAsync(long waitTime,
long leaseTime,
TimeUnit unit)
Tries to acquire the lock with defined
leaseTime. |
RFuture<Boolean> |
tryLockAsync(long waitTime,
long leaseTime,
TimeUnit unit,
long currentThreadId)
Tries to acquire the lock by thread with specified
threadId and leaseTime. |
RFuture<Boolean> |
tryLockAsync(long waitTime,
TimeUnit unit)
Tries to acquire the lock.
|
void |
unlock() |
protected RFuture<Boolean> |
unlockInnerAsync(long threadId) |
acquireFailed, acquireFailedAsync, cancelExpirationRenewal, deleteAsync, evalWriteAsync, getEntryName, getHoldCount, getHoldCountAsync, getLockName, isHeldByCurrentThread, isHeldByThread, isLocked, isLockedAsync, newCondition, renewExpirationAsync, scheduleExpirationRenewal, unlockAsync, unlockAsyncaddListener, addListener, addListenerAsync, addListenerAsync, copy, copyAsync, delete, deleteAsync, dump, dumpAsync, encode, encode, encode, encode, encodeMapKey, encodeMapKeys, encodeMapValue, encodeMapValues, get, getCodec, getIdleTime, getIdleTimeAsync, getLockByMapKey, getLockByValue, getName, getRawName, getRawName, isExists, isExistsAsync, migrate, migrateAsync, move, moveAsync, prefixName, removeListener, removeListenerAsync, removeListenersAsync, rename, renameAsync, renamenx, renamenxAsync, restore, restore, restoreAndReplace, restoreAndReplace, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, setName, sizeInMemory, sizeInMemoryAsync, sizeInMemoryAsync, sizeInMemoryAsync, suffixName, toSeconds, toStream, touch, touchAsync, unlink, unlinkAsyncclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetName, remainTimeToLiveremainTimeToLiveAsyncaddListener, copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlinkaddListenerAsync, copyAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsyncprotected long internalLockLeaseTime
protected final LockOptions.BackOff backOff
public RedissonSpinLock(CommandAsyncExecutor commandExecutor, String name, LockOptions.BackOff backOff)
public void lock()
public void lock(long leaseTime,
TimeUnit unit)
RLockleaseTime.
Waits if necessary until lock became available.
Lock will be released automatically after defined leaseTime interval.leaseTime - the maximum time to hold the lock after it's acquisition,
if it hasn't already been released by invoking unlock.
If leaseTime is -1, hold the lock until explicitly unlocked.unit - the time unitpublic void lockInterruptibly()
throws InterruptedException
InterruptedExceptionpublic void lockInterruptibly(long leaseTime,
TimeUnit unit)
throws InterruptedException
RLockleaseTime.
Waits if necessary until lock became available.
Lock will be released automatically after defined leaseTime interval.leaseTime - the maximum time to hold the lock after it's acquisition,
if it hasn't already been released by invoking unlock.
If leaseTime is -1, hold the lock until explicitly unlocked.unit - the time unitInterruptedException - - if the thread is interruptedpublic boolean tryLock()
public boolean tryLock(long waitTime,
long leaseTime,
TimeUnit unit)
throws InterruptedException
RLockleaseTime.
Waits up to defined waitTime if necessary until the lock became available.
Lock will be released automatically after defined leaseTime interval.waitTime - the maximum time to acquire the lockleaseTime - lease timeunit - time unittrue if lock is successfully acquired,
otherwise false if lock is already set.InterruptedException - - if the thread is interruptedpublic boolean tryLock(long waitTime,
TimeUnit unit)
throws InterruptedException
InterruptedExceptionpublic void unlock()
public boolean forceUnlock()
RLocktrue if lock existed and now unlocked
otherwise falsepublic RFuture<Boolean> forceUnlockAsync()
RLockAsynctrue if lock existed and now unlocked
otherwise falseprotected RFuture<Boolean> unlockInnerAsync(long threadId)
unlockInnerAsync in class RedissonBaseLockpublic RFuture<Void> lockAsync()
RLockAsyncpublic RFuture<Void> lockAsync(long leaseTime, TimeUnit unit)
RLockAsyncleaseTime.
Waits if necessary until lock became available.
Lock will be released automatically after defined leaseTime interval.leaseTime - the maximum time to hold the lock after it's acquisition,
if it hasn't already been released by invoking unlock.
If leaseTime is -1, hold the lock until explicitly unlocked.unit - the time unitpublic RFuture<Void> lockAsync(long currentThreadId)
RLockAsyncthreadId.
Waits if necessary until lock became available.currentThreadId - id of threadpublic RFuture<Void> lockAsync(long leaseTime, TimeUnit unit, long currentThreadId)
RLockAsyncleaseTime and threadId.
Waits if necessary until lock became available.
Lock will be released automatically after defined leaseTime interval.leaseTime - the maximum time to hold the lock after it's acquisition,
if it hasn't already been released by invoking unlock.
If leaseTime is -1, hold the lock until explicitly unlocked.unit - the time unitcurrentThreadId - id of threadpublic RFuture<Boolean> tryLockAsync()
RLockAsynctrue if lock acquired otherwise falsepublic RFuture<Boolean> tryLockAsync(long threadId)
RLockAsyncthreadId.threadId - id of threadtrue if lock acquired otherwise falsepublic RFuture<Boolean> tryLockAsync(long waitTime, TimeUnit unit)
RLockAsyncwaitTime if necessary until the lock became available.waitTime - the maximum time to acquire the lockunit - time unittrue if lock is successfully acquired,
otherwise false if lock is already set.public RFuture<Boolean> tryLockAsync(long waitTime, long leaseTime, TimeUnit unit)
RLockAsyncleaseTime.
Waits up to defined waitTime if necessary until the lock became available.
Lock will be released automatically after defined leaseTime interval.waitTime - the maximum time to acquire the lockleaseTime - lease timeunit - time unittrue if lock is successfully acquired,
otherwise false if lock is already set.public RFuture<Boolean> tryLockAsync(long waitTime, long leaseTime, TimeUnit unit, long currentThreadId)
RLockAsyncthreadId and leaseTime.
Waits up to defined waitTime if necessary until the lock became available.
Lock will be released automatically after defined leaseTime interval.waitTime - time interval to acquire lockleaseTime - time interval after which lock will be released automaticallyunit - the time unit of the waitTime and leaseTime argumentscurrentThreadId - id of threadtrue if lock acquired otherwise falsepublic boolean expire(long timeToLive,
TimeUnit timeUnit)
RExpirableexpire in interface RExpirabletimeToLive - - timeout before object will be deletedtimeUnit - - timeout time unittrue if the timeout was set and false if notpublic RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit)
RExpirableAsyncexpireAsync in interface RExpirableAsynctimeToLive - - timeout before object will be deletedtimeUnit - - timeout time unittrue if the timeout was set and false if notpublic boolean expireAt(long timestamp)
RExpirableRExpirable.expire(Instant) insteadexpireAt in interface RExpirabletimestamp - - expire date in milliseconds (Unix timestamp)true if the timeout was set and false if notpublic RFuture<Boolean> expireAtAsync(long timestamp)
RExpirableAsyncRExpirableAsync.expireAsync(Instant) insteadexpireAtAsync in interface RExpirableAsynctimestamp - - expire date in milliseconds (Unix timestamp)true if the timeout was set and false if notpublic boolean expire(Instant instant)
RExpirableexpire in interface RExpirableinstant - - expire datetrue if the timeout was set and false if notpublic RFuture<Boolean> expireAsync(Instant instant)
RExpirableAsyncexpireAsync in interface RExpirableAsyncinstant - - expire datetrue if the timeout was set and false if notpublic boolean expireAt(Date timestamp)
RExpirableRExpirable.expire(Instant) insteadexpireAt in interface RExpirabletimestamp - - expire datetrue if the timeout was set and false if notpublic RFuture<Boolean> expireAtAsync(Date timestamp)
RExpirableAsyncRExpirableAsync.expireAsync(Instant) insteadexpireAtAsync in interface RExpirableAsynctimestamp - - expire datetrue if the timeout was set and false if notpublic boolean clearExpire()
RExpirableclearExpire in interface RExpirabletrue if timeout was removed
false if object does not exist or does not have an associated timeoutpublic RFuture<Boolean> clearExpireAsync()
RExpirableAsyncclearExpireAsync in interface RExpirableAsynctrue if the timeout was cleared and false if notpublic long remainTimeToLive()
RExpirableremainTimeToLive in interface RExpirablepublic RFuture<Long> remainTimeToLiveAsync()
RExpirableAsyncremainTimeToLiveAsync in interface RExpirableAsyncprotected RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
Copyright © 2014–2021 Redisson. All rights reserved.