Package org.redisson.api
Interface RLockReactive
- All Known Subinterfaces:
RFencedLockReactive
public interface RLockReactive
Reactive interface for Lock object
- Author:
- Nikita Koksharov
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Boolean> Unlocks the lock independently of its statereactor.core.publisher.Mono<Integer> Number of holds on this lock by the current threadgetName()Returns name of objectreactor.core.publisher.Mono<Boolean> isHeldByThread(long threadId) Checks if the lock is held by thread with definedthreadIdreactor.core.publisher.Mono<Boolean> isLocked()Checks if the lock locked by any threadreactor.core.publisher.Mono<Void> lock()Acquires the lock.reactor.core.publisher.Mono<Void> lock(long threadId) Acquires the lock by thread with definedthreadId.reactor.core.publisher.Mono<Void> Acquires the lock with definedleaseTime.reactor.core.publisher.Mono<Void> Acquires the lock with definedleaseTimeandthreadId.reactor.core.publisher.Mono<Long> Remaining time to live of the lockreactor.core.publisher.Mono<Boolean> tryLock()Tries to acquire the lock.reactor.core.publisher.Mono<Boolean> tryLock(long threadId) Tries to acquire the lock by thread with specifiedthreadId.reactor.core.publisher.Mono<Boolean> Tries to acquire the lock with definedleaseTime.reactor.core.publisher.Mono<Boolean> Tries to acquire the lock by thread with specifiedthreadIdandleaseTime.reactor.core.publisher.Mono<Boolean> Tries to acquire the lock.reactor.core.publisher.Mono<Void> unlock()Unlocks the lockreactor.core.publisher.Mono<Void> unlock(long threadId) Unlocks the lock.
-
Method Details
-
getName
String getName()Returns name of object- Returns:
- name - name of object
-
forceUnlock
reactor.core.publisher.Mono<Boolean> forceUnlock()Unlocks the lock independently of its state- Returns:
trueif lock existed and now unlocked otherwisefalse
-
unlock
reactor.core.publisher.Mono<Void> unlock()Unlocks the lock- Returns:
- void
-
unlock
Unlocks the lock. ThrowsIllegalMonitorStateExceptionif lock isn't locked by thread with specifiedthreadId.- Parameters:
threadId- id of thread- Returns:
- void
-
tryLock
reactor.core.publisher.Mono<Boolean> tryLock()Tries to acquire the lock.- Returns:
trueif lock acquired otherwisefalse
-
lock
reactor.core.publisher.Mono<Void> lock()Acquires the lock. Waits if necessary until lock became available.- Returns:
- void
-
lock
Acquires the lock by thread with definedthreadId. Waits if necessary until lock became available.- Parameters:
threadId- id of thread- Returns:
- void
-
lock
Acquires the lock with definedleaseTime. Waits if necessary until lock became available. Lock will be released automatically after definedleaseTimeinterval.- Parameters:
leaseTime- the maximum time to hold the lock after it's acquisition, if it hasn't already been released by invokingunlock. If leaseTime is -1, hold the lock until explicitly unlocked.unit- the time unit- Returns:
- void
-
lock
Acquires the lock with definedleaseTimeandthreadId. Waits if necessary until lock became available. Lock will be released automatically after definedleaseTimeinterval.- Parameters:
leaseTime- the maximum time to hold the lock after it's acquisition, if it hasn't already been released by invokingunlock. If leaseTime is -1, hold the lock until explicitly unlocked.unit- the time unitthreadId- id of thread- Returns:
- void
-
tryLock
Tries to acquire the lock by thread with specifiedthreadId.- Parameters:
threadId- id of thread- Returns:
trueif lock acquired otherwisefalse
-
tryLock
Tries to acquire the lock. Waits up to definedwaitTimeif necessary until the lock became available.- Parameters:
waitTime- the maximum time to acquire the lockunit- time unit- Returns:
trueif lock is successfully acquired, otherwisefalseif lock is already set.
-
tryLock
Tries to acquire the lock with definedleaseTime. Waits up to definedwaitTimeif necessary until the lock became available. Lock will be released automatically after definedleaseTimeinterval.- Parameters:
waitTime- the maximum time to acquire the lockleaseTime- lease timeunit- time unit- Returns:
trueif lock is successfully acquired, otherwisefalseif lock is already set.
-
tryLock
reactor.core.publisher.Mono<Boolean> tryLock(long waitTime, long leaseTime, TimeUnit unit, long threadId) Tries to acquire the lock by thread with specifiedthreadIdandleaseTime. Waits up to definedwaitTimeif necessary until the lock became available. Lock will be released automatically after definedleaseTimeinterval.- Parameters:
waitTime- time interval to acquire lockleaseTime- time interval after which lock will be released automaticallyunit- the time unit of thewaitTimeandleaseTimeargumentsthreadId- id of thread- Returns:
trueif lock acquired otherwisefalse
-
getHoldCount
reactor.core.publisher.Mono<Integer> getHoldCount()Number of holds on this lock by the current thread- Returns:
- holds or
0if this lock is not held by current thread
-
isLocked
reactor.core.publisher.Mono<Boolean> isLocked()Checks if the lock locked by any thread- Returns:
trueif locked otherwisefalse
-
isHeldByThread
Checks if the lock is held by thread with definedthreadId- Parameters:
threadId- Thread ID of locking thread- Returns:
trueif held by thread with given id otherwisefalse
-
remainTimeToLive
reactor.core.publisher.Mono<Long> remainTimeToLive()Remaining time to live of the lock- Returns:
- time in milliseconds -2 if the lock does not exist. -1 if the lock exists but has no associated expire.
-