public class RedissonSemaphore extends RedissonObject implements RSemaphore
Semaphore
.
Works in non-fair mode. Therefore order of acquiring is unpredictable.
codec, name
Constructor and Description |
---|
RedissonSemaphore(CommandAsyncExecutor commandExecutor,
String name) |
Modifier and Type | Method and Description |
---|---|
void |
acquire()
Acquires a permit.
|
void |
acquire(int permits)
Acquires defined amount of
permits . |
RFuture<Void> |
acquireAsync()
Acquires a permit.
|
RFuture<Void> |
acquireAsync(int permits)
Acquires defined amount of
permits . |
void |
addPermits(int permits)
Increases or decreases the number of available permits by defined value.
|
RFuture<Void> |
addPermitsAsync(int permits)
Increases or decreases the number of available permits by defined value.
|
int |
availablePermits()
Returns amount of available permits.
|
RFuture<Integer> |
availablePermitsAsync()
Returns amount of available permits.
|
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) |
int |
drainPermits()
Acquires and returns all permits that are immediately available.
|
RFuture<Integer> |
drainPermitsAsync()
Acquires and returns all permits that are immediately available.
|
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) |
static String |
getChannelName(String name) |
void |
release()
Releases a permit.
|
void |
release(int permits)
Releases defined amount of
permits . |
RFuture<Void> |
releaseAsync()
Releases a permit.
|
RFuture<Void> |
releaseAsync(int permits)
Releases defined amount of
permits . |
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 |
tryAcquire()
Tries to acquire currently available permit.
|
boolean |
tryAcquire(int permits)
Tries to acquire defined amount of currently available
permits . |
boolean |
tryAcquire(int permits,
long waitTime,
TimeUnit unit)
Tries to acquire defined amount of currently available
permits . |
boolean |
tryAcquire(long time,
TimeUnit unit)
Tries to acquire currently available permit.
|
RFuture<Boolean> |
tryAcquireAsync()
Acquires a permit.
|
RFuture<Boolean> |
tryAcquireAsync(int permits)
Tries to acquire defined amount of currently available
permits . |
RFuture<Boolean> |
tryAcquireAsync(int permits,
long waitTime,
TimeUnit unit)
Tries to acquire defined amount of currently available
permits . |
RFuture<Boolean> |
tryAcquireAsync(long waitTime,
TimeUnit unit)
Tries to acquire currently available permit.
|
boolean |
trySetPermits(int permits)
Tries to set number of permits.
|
RFuture<Boolean> |
trySetPermitsAsync(int permits)
Tries to set number of permits.
|
addListener, addListener, addListenerAsync, addListenerAsync, copy, copyAsync, delete, deleteAsync, 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, unlinkAsync
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clearExpire, expire, expire, expireAt, expireAt, remainTimeToLive
addListener, copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlink
clearExpireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsync
addListenerAsync, copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsync
public RedissonSemaphore(CommandAsyncExecutor commandExecutor, String name)
public void acquire() throws InterruptedException
RSemaphore
acquire
in interface RSemaphore
InterruptedException
- if the current thread was interruptedpublic void acquire(int permits) throws InterruptedException
RSemaphore
permits
.
Waits if necessary until all permits became available.acquire
in interface RSemaphore
permits
- the number of permits to acquireInterruptedException
- if the current thread is interruptedpublic RFuture<Void> acquireAsync()
RSemaphoreAsync
acquireAsync
in interface RSemaphoreAsync
public RFuture<Void> acquireAsync(int permits)
RSemaphoreAsync
permits
.
Waits if necessary until all permits became available.acquireAsync
in interface RSemaphoreAsync
permits
- the number of permits to acquirepublic boolean tryAcquire()
RSemaphore
tryAcquire
in interface RSemaphore
true
if a permit was acquired and false
otherwisepublic boolean tryAcquire(int permits)
RSemaphore
permits
.tryAcquire
in interface RSemaphore
permits
- the number of permits to acquiretrue
if permits were acquired and false
otherwisepublic RFuture<Boolean> tryAcquireAsync()
RSemaphoreAsync
tryAcquireAsync
in interface RSemaphoreAsync
true
if a permit was acquired and false
otherwisepublic RFuture<Boolean> tryAcquireAsync(int permits)
RSemaphoreAsync
permits
.tryAcquireAsync
in interface RSemaphoreAsync
permits
- the number of permits to acquiretrue
if permits were acquired and false
otherwisepublic RFuture<Boolean> tryAcquireAsync(long waitTime, TimeUnit unit)
RSemaphoreAsync
waitTime
if necessary until a permit became available.tryAcquireAsync
in interface RSemaphoreAsync
waitTime
- the maximum time to waitunit
- the time unittrue
if a permit was acquired and false
otherwisepublic boolean tryAcquire(int permits, long waitTime, TimeUnit unit) throws InterruptedException
RSemaphore
permits
.
Waits up to defined waitTime
if necessary until all permits became available.tryAcquire
in interface RSemaphore
permits
- amount of permitswaitTime
- the maximum time to waitunit
- the time unittrue
if permits were acquired and false
otherwiseInterruptedException
- if the current thread was interruptedpublic RFuture<Boolean> tryAcquireAsync(int permits, long waitTime, TimeUnit unit)
RSemaphoreAsync
permits
.
Waits up to defined waitTime
if necessary until all permits became available.tryAcquireAsync
in interface RSemaphoreAsync
permits
- amount of permitswaitTime
- the maximum time to waitunit
- the time unittrue
if permits were acquired and false
otherwisepublic boolean tryAcquire(long time, TimeUnit unit) throws InterruptedException
RSemaphore
waitTime
if necessary until a permit became available.tryAcquire
in interface RSemaphore
time
- the maximum time to waitunit
- the time unittrue
if a permit was acquired and false
otherwiseInterruptedException
- if the current thread was interruptedpublic void release()
RSemaphore
release
in interface RSemaphore
public void release(int permits)
RSemaphore
permits
.
Increases the number of available permits by permits
amount.release
in interface RSemaphore
permits
- amount of permitspublic RFuture<Void> releaseAsync()
RSemaphoreAsync
releaseAsync
in interface RSemaphoreAsync
public RFuture<Void> releaseAsync(int permits)
RSemaphoreAsync
permits
.releaseAsync
in interface RSemaphoreAsync
permits
- amountpublic int drainPermits()
RSemaphore
drainPermits
in interface RSemaphore
public RFuture<Integer> drainPermitsAsync()
RSemaphoreAsync
drainPermitsAsync
in interface RSemaphoreAsync
public int availablePermits()
RSemaphore
availablePermits
in interface RSemaphore
public RFuture<Integer> availablePermitsAsync()
RSemaphoreAsync
availablePermitsAsync
in interface RSemaphoreAsync
public boolean trySetPermits(int permits)
RSemaphore
trySetPermits
in interface RSemaphore
permits
- - number of permitstrue
if permits has been set successfully,
otherwise false
if permits were already set.public RFuture<Boolean> trySetPermitsAsync(int permits)
RSemaphoreAsync
trySetPermitsAsync
in interface RSemaphoreAsync
permits
- - number of permitstrue
if permits has been set successfully, otherwise false
.public void addPermits(int permits)
RSemaphore
addPermits
in interface RSemaphore
permits
- amount of permits to add/removepublic RFuture<Void> addPermitsAsync(int permits)
RSemaphoreAsync
addPermitsAsync
in interface RSemaphoreAsync
permits
- amount of permits to add/removepublic boolean expire(long timeToLive, TimeUnit timeUnit)
RExpirable
expire
in interface RExpirable
timeToLive
- - 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)
RExpirableAsync
expireAsync
in interface RExpirableAsync
timeToLive
- - timeout before object will be deletedtimeUnit
- - timeout time unittrue
if the timeout was set and false
if notpublic boolean expireAt(long timestamp)
RExpirable
RExpirable.expire(Instant)
insteadexpireAt
in interface RExpirable
timestamp
- - expire date in milliseconds (Unix timestamp)true
if the timeout was set and false
if notpublic RFuture<Boolean> expireAtAsync(long timestamp)
RExpirableAsync
RExpirableAsync.expireAsync(Instant)
insteadexpireAtAsync
in interface RExpirableAsync
timestamp
- - expire date in milliseconds (Unix timestamp)true
if the timeout was set and false
if notpublic boolean expire(Instant instant)
RExpirable
expire
in interface RExpirable
instant
- - expire datetrue
if the timeout was set and false
if notpublic RFuture<Boolean> expireAsync(Instant instant)
RExpirableAsync
expireAsync
in interface RExpirableAsync
instant
- - expire datetrue
if the timeout was set and false
if notpublic boolean expireAt(Date timestamp)
RExpirable
RExpirable.expire(Instant)
insteadexpireAt
in interface RExpirable
timestamp
- - expire datetrue
if the timeout was set and false
if notpublic RFuture<Boolean> expireAtAsync(Date timestamp)
RExpirableAsync
RExpirableAsync.expireAsync(Instant)
insteadexpireAtAsync
in interface RExpirableAsync
timestamp
- - expire datetrue
if the timeout was set and false
if notpublic boolean clearExpire()
RExpirable
clearExpire
in interface RExpirable
true
if timeout was removed
false
if object does not exist or does not have an associated timeoutpublic RFuture<Boolean> clearExpireAsync()
RExpirableAsync
clearExpireAsync
in interface RExpirableAsync
true
if the timeout was cleared and false
if notpublic long remainTimeToLive()
RExpirable
remainTimeToLive
in interface RExpirable
public RFuture<Long> remainTimeToLiveAsync()
RExpirableAsync
remainTimeToLiveAsync
in interface RExpirableAsync
protected RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
Copyright © 2014–2021 Redisson. All rights reserved.