Package org.redisson
Class RedissonBlockingDeque<V>
- java.lang.Object
-
- org.redisson.RedissonObject
-
- org.redisson.RedissonList<V>
-
- org.redisson.RedissonQueue<V>
-
- org.redisson.RedissonDeque<V>
-
- org.redisson.RedissonBlockingDeque<V>
-
- All Implemented Interfaces:
Iterable<V>,Collection<V>,BlockingDeque<V>,BlockingQueue<V>,Deque<V>,List<V>,Queue<V>,RandomAccess,RBlockingDeque<V>,RBlockingDequeAsync<V>,RBlockingQueue<V>,RBlockingQueueAsync<V>,RCollectionAsync<V>,RDeque<V>,RDequeAsync<V>,RExpirable,RExpirableAsync,RList<V>,RListAsync<V>,RObject,RObjectAsync,RQueue<V>,RQueueAsync<V>,RSortable<List<V>>,RSortableAsync<List<V>>
public class RedissonBlockingDeque<V> extends RedissonDeque<V> implements RBlockingDeque<V>
Distributed and concurrent implementation of
BlockingDeque.Queue size limited by Redis server memory amount. This is why
remainingCapacity()always returnsInteger.MAX_VALUE- Author:
- Nikita Koksharov
-
-
Field Summary
-
Fields inherited from class org.redisson.RedissonObject
codec, commandExecutor, name
-
-
Constructor Summary
Constructors Constructor Description RedissonBlockingDeque(Codec codec, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)RedissonBlockingDeque(CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanclearExpire()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)intdrainTo(Collection<? super V> c)intdrainTo(Collection<? super V> c, int maxElements)RFuture<Integer>drainToAsync(Collection<? super V> c)Removes all available elements from this queue and adds them to the given collection in async mode.RFuture<Integer>drainToAsync(Collection<? super V> c, int maxElements)Removes at most the given number of available elements from this queue and adds them to the given collection in async mode.booleanexpire(long timeToLive, TimeUnit timeUnit)Set a timeout for object.booleanexpire(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)RFuture<Boolean>expireAsync(Instant instant)Set an expire date for object.booleanexpireAt(long timestamp)UseRExpirable.expire(Instant)insteadbooleanexpireAt(Date timestamp)UseRExpirable.expire(Instant)insteadRFuture<Boolean>expireAtAsync(long timestamp)UseRExpirableAsync.expireAsync(Instant)insteadprotected RFuture<Boolean>expireAtAsync(long timestamp, String... keys)RFuture<Boolean>expireAtAsync(Date timestamp)UseRExpirableAsync.expireAsync(Instant)insteadVmove(Duration timeout, DequeMoveArgs args)RFuture<V>moveAsync(Duration timeout, DequeMoveArgs args)booleanoffer(V e, long timeout, TimeUnit unit)booleanofferFirst(V e, long timeout, TimeUnit unit)booleanofferLast(V e, long timeout, TimeUnit unit)Vpoll(long timeout, TimeUnit unit)RFuture<V>pollAsync(long timeout, TimeUnit unit)Retrieves and removes the head of this queue in async mode, waiting up to the specified wait time if necessary for an element to become available.VpollFirst(long timeout, TimeUnit unit)RFuture<V>pollFirstAsync(long timeout, TimeUnit unit)Retrieves and removes value at the head of queue.VpollFirstFromAny(long timeout, TimeUnit unit, String... queueNames)Retrieves and removes first available head element of any queue, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.RFuture<V>pollFirstFromAnyAsync(long timeout, TimeUnit unit, String... queueNames)Retrieves and removes first available head element of any queue in async mode, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.VpollFromAny(long timeout, TimeUnit unit, String... queueNames)Retrieves and removes first available head element of any queue, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue itself.RFuture<V>pollFromAnyAsync(long timeout, TimeUnit unit, String... queueNames)Retrieves and removes first available head element of any queue in async mode, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue itself.VpollLast(long timeout, TimeUnit unit)VpollLastAndOfferFirstTo(String queueName, long timeout, TimeUnit unit)Retrieves and removes last available tail element of this queue and adds it at the head ofqueueName, waiting up to the specified wait time if necessary for an element to become available.RFuture<V>pollLastAndOfferFirstToAsync(String queueName, long timeout, TimeUnit unit)Retrieves and removes last available tail element of this queue and adds it at the head ofqueueName, waiting up to the specified wait time if necessary for an element to become available.RFuture<V>pollLastAsync(long timeout, TimeUnit unit)Retrieves and removes value at the tail of queue.VpollLastFromAny(long timeout, TimeUnit unit, String... queueNames)Retrieves and removes first available tail element of any queue, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.RFuture<V>pollLastFromAnyAsync(long timeout, TimeUnit unit, String... queueNames)Retrieves and removes first available tail element of any queue in async mode, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.voidput(V e)RFuture<Void>putAsync(V e)Inserts the specified element into this queue in async mode, waiting if necessary for space to become available.voidputFirst(V e)RFuture<Void>putFirstAsync(V e)Adds value to the head of queue.voidputLast(V e)RFuture<Void>putLastAsync(V e)Adds value to the tail of queue.intremainingCapacity()longremainTimeToLive()Remaining time to live of Redisson object that has a timeoutRFuture<Long>remainTimeToLiveAsync()Remaining time to live of Redisson object that has a timeoutintsubscribeOnElements(Consumer<V> consumer)Subscribes on elements appeared in this queue.intsubscribeOnFirstElements(Consumer<V> consumer)Subscribes on first elements appeared in this queue.intsubscribeOnLastElements(Consumer<V> consumer)Subscribes on last elements appeared in this queue.Vtake()RFuture<V>takeAsync()Retrieves and removes the head of this queue in async mode, waiting if necessary until an element becomes available.VtakeFirst()RFuture<V>takeFirstAsync()Retrieves and removes value at the head of queue.VtakeLast()VtakeLastAndOfferFirstTo(String queueName)Retrieves and removes last available tail element of any queue and adds it at the head ofqueueName, waiting if necessary for an element to become available in any of defined queues including queue itself.RFuture<V>takeLastAndOfferFirstToAsync(String queueName)Retrieves and removes last available tail element of any queue and adds it at the head ofqueueName, waiting if necessary for an element to become available in any of defined queues including queue itself.RFuture<V>takeLastAsync()Retrieves and removes value at the tail of queue.voidunsubscribe(int id)Un-subscribes defined listener.-
Methods inherited from class org.redisson.RedissonDeque
addFirst, addFirstAsync, addFirstIfExists, addFirstIfExistsAsync, addLast, addLastAsync, addLastIfExists, addLastIfExistsAsync, descendingIterator, getLast, getLastAsync, move, moveAsync, offerFirst, offerFirstAsync, offerLast, offerLastAsync, peekFirst, peekFirstAsync, peekLast, peekLastAsync, pollFirst, pollFirst, pollFirstAsync, pollFirstAsync, pollLast, pollLast, pollLastAsync, pollLastAsync, pop, popAsync, push, pushAsync, removeFirstAsync, removeFirstOccurrence, removeFirstOccurrenceAsync, removeLast, removeLastAsync, removeLastOccurrence, removeLastOccurrenceAsync
-
Methods inherited from class org.redisson.RedissonQueue
element, getFirst, offer, offerAsync, peek, peekAsync, poll, poll, pollAsync, pollAsync, pollLastAndOfferFirstTo, pollLastAndOfferFirstToAsync, remove, removeFirst
-
Methods inherited from class org.redisson.RedissonList
add, add, addAfter, addAfterAsync, addAll, addAll, addAllAsync, addAllAsync, addAsync, addAsync, addAsync, addBefore, addBeforeAsync, addListener, addListenerAsync, clear, contains, containsAll, containsAllAsync, containsAsync, equals, fastRemove, fastRemoveAsync, fastSet, fastSetAsync, get, get, getAsync, getAsync, hashCode, indexOf, indexOfAsync, indexOfAsync, isEmpty, iterator, lastIndexOf, lastIndexOfAsync, lastIndexOfAsync, listIterator, listIterator, mapReduce, range, range, rangeAsync, rangeAsync, readAll, readAllAsync, readSort, readSort, readSort, readSort, readSort, readSort, readSortAlpha, readSortAlpha, readSortAlpha, readSortAlpha, readSortAlpha, readSortAlpha, readSortAlphaAsync, readSortAlphaAsync, readSortAlphaAsync, readSortAlphaAsync, readSortAlphaAsync, readSortAlphaAsync, readSortAsync, readSortAsync, readSortAsync, readSortAsync, readSortAsync, readSortAsync, remove, remove, remove, removeAll, removeAllAsync, removeAsync, removeAsync, removeAsync, removeIf, removeListener, removeListenerAsync, retainAll, retainAllAsync, set, setAsync, size, sizeAsync, sortTo, sortTo, sortTo, sortTo, sortTo, sortTo, sortToAsync, sortToAsync, sortToAsync, sortToAsync, sortToAsync, sortToAsync, subList, toArray, toArray, toString, trim, trimAsync
-
Methods inherited from class org.redisson.RedissonObject
addListener, 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, 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
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.concurrent.BlockingDeque
add, addFirst, addLast, contains, element, iterator, offer, offerFirst, offerLast, peek, poll, push, remove, remove, removeFirstOccurrence, removeLastOccurrence, size
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.Deque
add, addAll, contains, descendingIterator, getFirst, getLast, offer, peekFirst, peekLast, pollFirst, pollLast, pop, remove, removeFirst, removeLast
-
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
Methods inherited from interface org.redisson.api.RCollectionAsync
addAllAsync, addAsync, containsAllAsync, containsAsync, removeAllAsync, removeAsync, retainAllAsync, sizeAsync
-
Methods inherited from interface org.redisson.api.RDeque
addFirstIfExists, addLastIfExists, move, pollFirst, pollLast
-
Methods inherited from interface org.redisson.api.RDequeAsync
addFirstAsync, addFirstIfExistsAsync, addLastAsync, addLastIfExistsAsync, getLastAsync, moveAsync, offerFirstAsync, offerLastAsync, peekFirstAsync, peekLastAsync, pollFirstAsync, pollFirstAsync, pollLastAsync, pollLastAsync, popAsync, pushAsync, removeFirstAsync, removeFirstOccurrenceAsync, removeLastAsync, removeLastOccurrenceAsync
-
Methods inherited from interface org.redisson.api.RExpirable
clearExpire, expire, expire, expireAt, expireAt, remainTimeToLive
-
Methods inherited from interface org.redisson.api.RExpirableAsync
clearExpireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsync
-
Methods inherited from interface org.redisson.api.RObject
copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlink
-
Methods inherited from interface org.redisson.api.RObjectAsync
copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsync
-
Methods inherited from interface org.redisson.api.RQueue
addListener, poll, pollLastAndOfferFirstTo, readAll
-
Methods inherited from interface org.redisson.api.RQueueAsync
addListenerAsync, offerAsync, peekAsync, pollAsync, pollAsync, pollLastAndOfferFirstToAsync, readAllAsync
-
-
-
-
Constructor Detail
-
RedissonBlockingDeque
public RedissonBlockingDeque(CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)
-
RedissonBlockingDeque
public RedissonBlockingDeque(Codec codec, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)
-
-
Method Detail
-
putAsync
public RFuture<Void> putAsync(V e)
Description copied from interface:RBlockingQueueAsyncInserts the specified element into this queue in async mode, waiting if necessary for space to become available.- Specified by:
putAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
e- the element to add- Returns:
- void
-
put
public void put(V e) throws InterruptedException
- Specified by:
putin interfaceBlockingDeque<V>- Specified by:
putin interfaceBlockingQueue<V>- Throws:
InterruptedException
-
offer
public boolean offer(V e, long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
offerin interfaceBlockingDeque<V>- Specified by:
offerin interfaceBlockingQueue<V>- Throws:
InterruptedException
-
takeAsync
public RFuture<V> takeAsync()
Description copied from interface:RBlockingQueueAsyncRetrieves and removes the head of this queue in async mode, waiting if necessary until an element becomes available.- Specified by:
takeAsyncin interfaceRBlockingQueueAsync<V>- Returns:
- the head of this queue
-
take
public V take() throws InterruptedException
- Specified by:
takein interfaceBlockingDeque<V>- Specified by:
takein interfaceBlockingQueue<V>- Throws:
InterruptedException
-
pollAsync
public RFuture<V> pollAsync(long timeout, TimeUnit unit)
Description copied from interface:RBlockingQueueAsyncRetrieves and removes the head of this queue in async mode, waiting up to the specified wait time if necessary for an element to become available.- Specified by:
pollAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameter- Returns:
- the head of this queue, or
nullif the specified waiting time elapses before an element is available
-
poll
public V poll(long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
pollin interfaceBlockingDeque<V>- Specified by:
pollin interfaceBlockingQueue<V>- Throws:
InterruptedException
-
pollFromAny
public V pollFromAny(long timeout, TimeUnit unit, String... queueNames) throws InterruptedException
Description copied from interface:RBlockingQueueRetrieves and removes first available head element of any queue, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue itself.- Specified by:
pollFromAnyin interfaceRBlockingQueue<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameterqueueNames- - queue names. Queue name itself is always included- Returns:
- the head of this queue, or
nullif the specified waiting time elapses before an element is available - Throws:
InterruptedException- if interrupted while waiting
-
pollFromAnyAsync
public RFuture<V> pollFromAnyAsync(long timeout, TimeUnit unit, String... queueNames)
Description copied from interface:RBlockingQueueAsyncRetrieves and removes first available head element of any queue in async mode, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue itself.- Specified by:
pollFromAnyAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameterqueueNames- - queue names. Queue name itself is always included- Returns:
- Future object with the head of this queue, or
nullif the specified waiting time elapses before an element is available
-
pollLastAndOfferFirstToAsync
public RFuture<V> pollLastAndOfferFirstToAsync(String queueName, long timeout, TimeUnit unit)
Description copied from interface:RBlockingQueueAsyncRetrieves and removes last available tail element of this queue and adds it at the head ofqueueName, waiting up to the specified wait time if necessary for an element to become available.- Specified by:
pollLastAndOfferFirstToAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
queueName- - names of destination queuetimeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameter- Returns:
- the tail of this queue, or
nullif the specified waiting time elapses before an element is available
-
pollLastAndOfferFirstTo
public V pollLastAndOfferFirstTo(String queueName, long timeout, TimeUnit unit) throws InterruptedException
Description copied from interface:RBlockingQueueRetrieves and removes last available tail element of this queue and adds it at the head ofqueueName, waiting up to the specified wait time if necessary for an element to become available.- Specified by:
pollLastAndOfferFirstToin interfaceRBlockingQueue<V>- Parameters:
queueName- - names of destination queuetimeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameter- Returns:
- the tail of this queue, or
nullif the specified waiting time elapses before an element is available - Throws:
InterruptedException- if interrupted while waiting
-
takeLastAndOfferFirstTo
public V takeLastAndOfferFirstTo(String queueName) throws InterruptedException
Description copied from interface:RBlockingQueueRetrieves and removes last available tail element of any queue and adds it at the head ofqueueName, waiting if necessary for an element to become available in any of defined queues including queue itself.- Specified by:
takeLastAndOfferFirstToin interfaceRBlockingQueue<V>- Parameters:
queueName- - names of destination queue- Returns:
- the tail of this queue, or
nullif the specified waiting time elapses before an element is available - Throws:
InterruptedException- if interrupted while waiting
-
subscribeOnElements
public int subscribeOnElements(Consumer<V> consumer)
Description copied from interface:RBlockingQueueSubscribes on elements appeared in this queue. Continuously invokesRBlockingQueueAsync.takeAsync()method to get a new element.- Specified by:
subscribeOnElementsin interfaceRBlockingQueue<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
unsubscribe
public void unsubscribe(int id)
Description copied from interface:RBlockingQueueUn-subscribes defined listener.- Specified by:
unsubscribein interfaceRBlockingQueue<V>- Parameters:
id- - id of listener
-
takeLastAndOfferFirstToAsync
public RFuture<V> takeLastAndOfferFirstToAsync(String queueName)
Description copied from interface:RBlockingQueueAsyncRetrieves and removes last available tail element of any queue and adds it at the head ofqueueName, waiting if necessary for an element to become available in any of defined queues including queue itself.- Specified by:
takeLastAndOfferFirstToAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
queueName- - names of destination queue- Returns:
- the tail of this queue, or
nullif the specified waiting time elapses before an element is available
-
remainingCapacity
public int remainingCapacity()
- Specified by:
remainingCapacityin interfaceBlockingQueue<V>
-
drainTo
public int drainTo(Collection<? super V> c)
- Specified by:
drainToin interfaceBlockingQueue<V>
-
drainToAsync
public RFuture<Integer> drainToAsync(Collection<? super V> c)
Description copied from interface:RBlockingQueueAsyncRemoves all available elements from this queue and adds them to the given collection in async mode. This operation may be more efficient than repeatedly polling this queue. A failure encountered while attempting to add elements to collectioncmay result in elements being in neither, either or both collections when the associated exception is thrown. Attempts to drain a queue to itself result inIllegalArgumentException. Further, the behavior of this operation is undefined if the specified collection is modified while the operation is in progress.- Specified by:
drainToAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
c- the collection to transfer elements into- Returns:
- the number of elements transferred
-
drainTo
public int drainTo(Collection<? super V> c, int maxElements)
- Specified by:
drainToin interfaceBlockingQueue<V>
-
drainToAsync
public RFuture<Integer> drainToAsync(Collection<? super V> c, int maxElements)
Description copied from interface:RBlockingQueueAsyncRemoves at most the given number of available elements from this queue and adds them to the given collection in async mode. A failure encountered while attempting to add elements to collectioncmay result in elements being in neither, either or both collections when the associated exception is thrown. Attempts to drain a queue to itself result inIllegalArgumentException. Further, the behavior of this operation is undefined if the specified collection is modified while the operation is in progress.- Specified by:
drainToAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
c- the collection to transfer elements intomaxElements- the maximum number of elements to transfer- Returns:
- the number of elements transferred
-
putFirstAsync
public RFuture<Void> putFirstAsync(V e)
Description copied from interface:RBlockingDequeAsyncAdds value to the head of queue.- Specified by:
putFirstAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
e- value- Returns:
- void
-
putLastAsync
public RFuture<Void> putLastAsync(V e)
Description copied from interface:RBlockingDequeAsyncAdds value to the tail of queue.- Specified by:
putLastAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
e- value- Returns:
- void
-
putFirst
public void putFirst(V e) throws InterruptedException
- Specified by:
putFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
putLast
public void putLast(V e) throws InterruptedException
- Specified by:
putLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
offerFirst
public boolean offerFirst(V e, long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
offerFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
offerLast
public boolean offerLast(V e, long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
offerLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
takeFirst
public V takeFirst() throws InterruptedException
- Specified by:
takeFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
takeFirstAsync
public RFuture<V> takeFirstAsync()
Description copied from interface:RBlockingDequeAsyncRetrieves and removes value at the head of queue. Waits for an element become available.- Specified by:
takeFirstAsyncin interfaceRBlockingDequeAsync<V>- Returns:
- the head element of this queue
-
takeLastAsync
public RFuture<V> takeLastAsync()
Description copied from interface:RBlockingDequeAsyncRetrieves and removes value at the tail of queue. Waits for an element become available.- Specified by:
takeLastAsyncin interfaceRBlockingDequeAsync<V>- Returns:
- the tail element of this queue
-
takeLast
public V takeLast() throws InterruptedException
- Specified by:
takeLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
pollFirstAsync
public RFuture<V> pollFirstAsync(long timeout, TimeUnit unit)
Description copied from interface:RBlockingDequeAsyncRetrieves and removes value at the head of queue. If necessary waits up to definedtimeoutfor an element become available.- Specified by:
pollFirstAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameter- Returns:
- the element at the tail of this queue, or
nullif the specified waiting time elapses before an element is available
-
pollFirstFromAny
public V pollFirstFromAny(long timeout, TimeUnit unit, String... queueNames) throws InterruptedException
Description copied from interface:RBlockingDequeRetrieves and removes first available head element of any queue, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.- Specified by:
pollFirstFromAnyin interfaceRBlockingDeque<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameterqueueNames- - names of queue- Returns:
- the head of this queue, or
nullif the specified waiting time elapses before an element is available - Throws:
InterruptedException- if interrupted while waiting
-
pollFirstFromAnyAsync
public RFuture<V> pollFirstFromAnyAsync(long timeout, TimeUnit unit, String... queueNames)
Description copied from interface:RBlockingDequeAsyncRetrieves and removes first available head element of any queue in async mode, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.- Specified by:
pollFirstFromAnyAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameterqueueNames- - names of queue- Returns:
- the head of this queue, or
nullif the specified waiting time elapses before an element is available
-
pollLastFromAny
public V pollLastFromAny(long timeout, TimeUnit unit, String... queueNames) throws InterruptedException
Description copied from interface:RBlockingDequeRetrieves and removes first available tail element of any queue, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.- Specified by:
pollLastFromAnyin interfaceRBlockingDeque<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameterqueueNames- - names of queue- Returns:
- the head of this queue, or
nullif the specified waiting time elapses before an element is available - Throws:
InterruptedException- if interrupted while waiting
-
subscribeOnFirstElements
public int subscribeOnFirstElements(Consumer<V> consumer)
Description copied from interface:RBlockingDequeSubscribes on first elements appeared in this queue. Continuously invokesRBlockingDequeAsync.takeFirstAsync()method to get a new element.- Specified by:
subscribeOnFirstElementsin interfaceRBlockingDeque<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
subscribeOnLastElements
public int subscribeOnLastElements(Consumer<V> consumer)
Description copied from interface:RBlockingDequeSubscribes on last elements appeared in this queue. Continuously invokesRBlockingDequeAsync.takeLastAsync()method to get a new element.- Specified by:
subscribeOnLastElementsin interfaceRBlockingDeque<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
pollLastFromAnyAsync
public RFuture<V> pollLastFromAnyAsync(long timeout, TimeUnit unit, String... queueNames)
Description copied from interface:RBlockingDequeAsyncRetrieves and removes first available tail element of any queue in async mode, waiting up to the specified wait time if necessary for an element to become available in any of defined queues including queue own.- Specified by:
pollLastFromAnyAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameterqueueNames- - names of queue- Returns:
- the head of this queue, or
nullif the specified waiting time elapses before an element is available
-
pollFirst
public V pollFirst(long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
pollFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
pollLastAsync
public RFuture<V> pollLastAsync(long timeout, TimeUnit unit)
Description copied from interface:RBlockingDequeAsyncRetrieves and removes value at the tail of queue. If necessary waits up to definedtimeoutfor an element become available.- Specified by:
pollLastAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitunit- aTimeUnitdetermining how to interpret thetimeoutparameter- Returns:
- the element at the head of this queue, or
nullif the specified waiting time elapses before an element is available
-
pollLast
public V pollLast(long timeout, TimeUnit unit) throws InterruptedException
- Specified by:
pollLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
move
public V move(Duration timeout, DequeMoveArgs args)
- Specified by:
movein interfaceRBlockingDeque<V>
-
moveAsync
public RFuture<V> moveAsync(Duration timeout, DequeMoveArgs args)
- Specified by:
moveAsyncin interfaceRBlockingDequeAsync<V>
-
expire
public boolean expire(long timeToLive, TimeUnit timeUnit)Description copied from interface:RExpirableSet a timeout for object. After the timeout has expired, the key will automatically be deleted.- Specified by:
expirein interfaceRExpirable- Parameters:
timeToLive- - timeout before object will be deletedtimeUnit- - timeout time unit- Returns:
trueif the timeout was set andfalseif not
-
expireAsync
public RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit)
Description copied from interface:RExpirableAsyncSet a timeout for object in async mode. After the timeout has expired, the key will automatically be deleted.- Specified by:
expireAsyncin interfaceRExpirableAsync- Parameters:
timeToLive- - timeout before object will be deletedtimeUnit- - timeout time unit- Returns:
trueif the timeout was set andfalseif not
-
expireAt
public boolean expireAt(long timestamp)
Description copied from interface:RExpirableUseRExpirable.expire(Instant)instead- Specified by:
expireAtin interfaceRExpirable- Parameters:
timestamp- - expire date in milliseconds (Unix timestamp)- Returns:
trueif the timeout was set andfalseif not
-
expireAtAsync
public RFuture<Boolean> expireAtAsync(long timestamp)
Description copied from interface:RExpirableAsyncUseRExpirableAsync.expireAsync(Instant)instead- Specified by:
expireAtAsyncin interfaceRExpirableAsync- Parameters:
timestamp- - expire date in milliseconds (Unix timestamp)- Returns:
trueif the timeout was set andfalseif not
-
expire
public boolean expire(Instant instant)
Description copied from interface:RExpirableSet an expire date for object. When expire date comes the key will automatically be deleted.- Specified by:
expirein interfaceRExpirable- Parameters:
instant- - expire date- Returns:
trueif the timeout was set andfalseif not
-
expireAsync
public RFuture<Boolean> expireAsync(Instant instant)
Description copied from interface:RExpirableAsyncSet an expire date for object. When expire date comes the key will automatically be deleted.- Specified by:
expireAsyncin interfaceRExpirableAsync- Parameters:
instant- - expire date- Returns:
trueif the timeout was set andfalseif not
-
expireAt
public boolean expireAt(Date timestamp)
Description copied from interface:RExpirableUseRExpirable.expire(Instant)instead- Specified by:
expireAtin interfaceRExpirable- Parameters:
timestamp- - expire date- Returns:
trueif the timeout was set andfalseif not
-
expireAtAsync
public RFuture<Boolean> expireAtAsync(Date timestamp)
Description copied from interface:RExpirableAsyncUseRExpirableAsync.expireAsync(Instant)instead- Specified by:
expireAtAsyncin interfaceRExpirableAsync- Parameters:
timestamp- - expire date- Returns:
trueif the timeout was set andfalseif not
-
clearExpire
public boolean clearExpire()
Description copied from interface:RExpirableClear an expire timeout or expire date for object.- Specified by:
clearExpirein interfaceRExpirable- Returns:
trueif timeout was removedfalseif object does not exist or does not have an associated timeout
-
clearExpireAsync
public RFuture<Boolean> clearExpireAsync()
Description copied from interface:RExpirableAsyncClear an expire timeout or expire date for object in async mode. Object will not be deleted.- Specified by:
clearExpireAsyncin interfaceRExpirableAsync- Returns:
trueif the timeout was cleared andfalseif not
-
remainTimeToLive
public long remainTimeToLive()
Description copied from interface:RExpirableRemaining time to live of Redisson object that has a timeout- Specified by:
remainTimeToLivein interfaceRExpirable- Returns:
- time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
-
remainTimeToLiveAsync
public RFuture<Long> remainTimeToLiveAsync()
Description copied from interface:RExpirableAsyncRemaining time to live of Redisson object that has a timeout- Specified by:
remainTimeToLiveAsyncin interfaceRExpirableAsync- Returns:
- time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
-
expireAsync
protected RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
-
-