Class RedissonPriorityBlockingDeque<V>
- All Implemented Interfaces:
Iterable<V>,Collection<V>,BlockingDeque<V>,BlockingQueue<V>,Deque<V>,Queue<V>,RBlockingDeque<V>,RBlockingDequeAsync<V>,RBlockingQueue<V>,RBlockingQueueAsync<V>,RCollectionAsync<V>,RDeque<V>,RDequeAsync<V>,RExpirable,RExpirableAsync,RObject,RObjectAsync,RPriorityBlockingDeque<V>,RPriorityDeque<V>,RPriorityQueue<V>,RQueue<V>,RQueueAsync<V>
Distributed and concurrent implementation of priority blocking deque.
Queue size limited by Redis server memory amount. This is why remainingCapacity() always
returns Integer.MAX_VALUE
- Author:
- Nikita Koksharov
-
Nested Class Summary
Nested classes/interfaces inherited from class org.redisson.RedissonPriorityQueue
RedissonPriorityQueue.BinarySearchResult<V> -
Field Summary
Fields inherited from class org.redisson.RedissonObject
codec, name -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRedissonPriorityBlockingDeque(Codec codec, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) protectedRedissonPriorityBlockingDeque(CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) -
Method Summary
Modifier and TypeMethodDescriptionbooleanClear an expire timeout or expire date for object.clearExpireAsync(String... keys) intdrainTo(Collection<? super V> c) intdrainTo(Collection<? super V> c, int maxElements) drainToAsync(Collection<? super V> c) Removes all available elements from this queue and adds them to the given collection in async mode.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.booleanUseRExpirable.expire(Duration)insteadbooleanSets a timeout for this object.booleanSets an expiration date for this object.expireAsync(long timeToLive, TimeUnit timeUnit) UseRExpirableAsync.expireAsync(Duration)insteadexpireAsync(Duration duration) Set a timeout for object.expireAsync(Instant instant) Set an expire date for object.booleanexpireAt(long timestamp) UseRExpirable.expire(Instant)insteadbooleanUseRExpirable.expire(Instant)insteadexpireAtAsync(long timestamp) UseRExpirableAsync.expireAsync(Instant)insteadexpireAtAsync(Date timestamp) UseRExpirableAsync.expireAsync(Instant)insteadbooleanexpireIfGreater(Duration duration) Sets a timeout for this object only if it's greater than timeout set before.booleanexpireIfGreater(Instant time) Sets an expiration date for this object only if it's greater than expiration date set before.expireIfGreaterAsync(Duration duration) Sets a timeout for this object only if it's greater than timeout set before.expireIfGreaterAsync(Instant time) Sets an expiration date for this object only if it's greater than expiration date set before.booleanexpireIfLess(Duration duration) Sets a timeout for this object only if it's less than timeout set before.booleanexpireIfLess(Instant time) Sets an expiration date for this object only if it's less than expiration date set before.expireIfLessAsync(Duration duration) Sets a timeout for this object only if it's less than timeout set before.expireIfLessAsync(Instant time) Sets an expiration date for this object only if it's less than expiration date set before.booleanexpireIfNotSet(Duration duration) Sets a timeout for this object only if it hasn't been set before.booleanexpireIfNotSet(Instant time) Sets an expiration date for this object only if it hasn't been set before.expireIfNotSetAsync(Duration duration) Sets a timeout for this object only if it hasn't been set before.expireIfNotSetAsync(Instant time) Sets an expiration date for this object only if it hasn't been set before.booleanexpireIfSet(Duration duration) Sets a timeout for this object only if it has been already set.booleanexpireIfSet(Instant time) Sets an expiration date for this object only if it has been already set.expireIfSetAsync(Duration duration) Sets a timeout for this object only if it has been already set.expireIfSetAsync(Instant time) Sets an expiration date for this object only if it has been already set.longReturns expiration time of the object as the absolute Unix expiration timestamp in milliseconds.Returns expiration time of the object as the absolute Unix expiration timestamp in milliseconds.move(Duration timeout, DequeMoveArgs args) moveAsync(Duration timeout, DequeMoveArgs args) booleanofferAsync(V e) Inserts the specified element into this queue.booleanofferFirst(V e, long timeout, TimeUnit unit) booleanpoll(int limit) Retrieves and removes the head elements of this queue.pollAsync(int limit) Retrieves and removes the head elements of this queue.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.pollFirst(int limit) Retrieves and removes the head elements of this queue.pollFirstAsync(int limit) Retrieves and removes the head elements of this queue.pollFirstAsync(long timeout, TimeUnit unit) Retrieves and removes value at the head of queue.pollFirstFromAny(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.pollFirstFromAny(Duration duration, int count, String... queueNames) Retrieves and removes first available head elements 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.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.pollFirstFromAnyAsync(Duration duration, int count, String... queueNames) Retrieves and removes first available head elements 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.pollFromAny(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.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.pollFromAnyWithName(Duration timeout, 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.pollFromAnyWithNameAsync(Duration timeout, 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.pollLast(int limit) Retrieves and removes the tail elements of this queue.pollLastAndOfferFirstTo(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.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.pollLastAsync(int limit) Retrieves and removes the tail elements of this queue.pollLastAsync(long timeout, TimeUnit unit) Retrieves and removes value at the tail of queue.pollLastFromAny(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.pollLastFromAny(Duration duration, int count, String... queueNames) Retrieves and removes first available tail elements 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.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.pollLastFromAnyAsync(Duration duration, int count, String... queueNames) Retrieves and removes first available tail elements 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.voidInserts the specified element into this queue in async mode, waiting if necessary for space to become available.voidputFirstAsync(V e) Adds value to the head of queue.voidputLastAsync(V e) Adds value to the tail of queue.intlongReturns remaining time of the object in milliseconds.Returns remaining time of the object in milliseconds.intsubscribeOnElements(Consumer<V> consumer) UseRBlockingQueue.subscribeOnElements(Function)instead.intsubscribeOnElements(Function<V, CompletionStage<Void>> consumer) Subscribes on elements appeared in this queue.intsubscribeOnFirstElements(Consumer<V> consumer) UseRBlockingDeque.subscribeOnFirstElements(Function)instead.intsubscribeOnFirstElements(Function<V, CompletionStage<Void>> consumer) UseRBlockingDeque.subscribeOnLastElements(Function)instead.intsubscribeOnLastElements(Consumer<V> consumer) UseRBlockingDeque.subscribeOnLastElements(Function)instead.intsubscribeOnLastElements(Function<V, CompletionStage<Void>> consumer) Subscribes on last elements appeared in this queue.take()Retrieves and removes the head of this queue in async mode, waiting if necessary until an element becomes available.Retrieves and removes value at the head of queue.takeLast()takeLastAndOfferFirstTo(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.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.Retrieves and removes value at the tail of queue.voidunsubscribe(int listenerId) Un-subscribes defined listener.Methods inherited from class org.redisson.RedissonPriorityDeque
addFirst, addFirst, addFirstAsync, addFirstAsync, addFirstIfExists, addFirstIfExistsAsync, addLast, addLast, addLastAsync, addLastAsync, addLastIfExists, addLastIfExistsAsync, descendingIterator, descendingStream, getLast, getLastAsync, move, moveAsync, offerFirst, offerFirstAsync, offerLast, offerLastAsync, peekFirst, peekFirstAsync, peekLast, peekLastAsync, pollFirst, pollFirstAsync, pollLast, pollLastAsync, pop, popAsync, push, pushAsync, removeAsync, removeFirstAsync, removeFirstOccurrence, removeFirstOccurrenceAsync, removeLast, removeLastAsync, removeLastOccurrence, removeLastOccurrenceAsyncMethods inherited from class org.redisson.RedissonPriorityQueue
add, addAll, addAsync, binarySearch, clear, clearExpireAsync, comparator, contains, containsAll, deleteAsync, element, expireAsync, expireAtAsync, getFirst, offer, peek, peekAsync, poll, pollAsync, pollLastAndOfferFirstTo, pollLastAndOfferFirstToAsync, remove, remove, removeAll, removeFirst, retainAll, toString, trySetComparator, wrapLockedAsync, wrapLockedAsyncMethods inherited from class org.redisson.BaseRedissonList
add, addAfter, addAfterAsync, addAll, addAllAsync, addAllAsync, addAsync, addAsync, addBefore, addBeforeAsync, addListener, addListenerAsync, containsAllAsync, containsAsync, distributedIterator, distributedIterator, 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, removeAllAsync, removeAsync, removeAsync, removeIf, removeListener, removeListenerAsync, retainAllAsync, set, setAsync, size, sizeAsync, sortTo, sortTo, sortTo, sortTo, sortTo, sortTo, sortToAsync, sortToAsync, sortToAsync, sortToAsync, sortToAsync, sortToAsync, subList, toArray, toArray, trim, trimAsyncMethods inherited from class org.redisson.RedissonObject
addListener, addListener, addListenerAsync, addListenerAsync, addListenerId, addTrackingListener, addTrackingListenerAsync, checkNotBatch, copy, copy, copy, copyAndReplace, copyAndReplace, copyAndReplaceAsync, copyAndReplaceAsync, copyAsync, copyAsync, copyAsync, copyAsync, copyAsync, delete, deleteAsync, dump, dumpAsync, encode, encode, encode, encode, encodeMapKey, encodeMapKey, encodeMapKeys, encodeMapValue, encodeMapValues, get, getCodec, getIdleTime, getIdleTimeAsync, getListenerIdsByName, getLockByMapKey, getLockByValue, getName, getNameByListenerId, getRawName, getRawName, getServiceManager, getSubscribeService, isExists, isExistsAsync, map, mapName, migrate, migrateAsync, move, moveAsync, prefixName, removeListener, removeListenerAsync, removeListenerAsync, removeListenerId, removeListeners, removeTrackingListener, removeTrackingListenerAsync, rename, renameAsync, renameAsync, renameAsync, renamenx, renamenxAsync, renamenxAsync, renamenxAsync, restore, restore, restoreAndReplace, restoreAndReplace, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, setName, sizeInMemory, sizeInMemoryAsync, sizeInMemoryAsync, sizeInMemoryAsync, suffixName, toSeconds, toStream, touch, touchAsync, unlink, unlinkAsyncMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.concurrent.BlockingDeque
add, addFirst, addLast, contains, element, iterator, offer, offerFirst, offerLast, peek, poll, push, remove, remove, removeFirstOccurrence, removeLastOccurrence, sizeMethods inherited from interface java.util.Collection
addAll, clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArrayMethods inherited from interface java.util.Deque
add, contains, descendingIterator, getFirst, getLast, offer, peekFirst, peekLast, pollFirst, pollLast, pop, remove, removeFirst, removeLastMethods inherited from interface org.redisson.api.RCollectionAsync
addAllAsync, addAsync, containsAllAsync, containsAsync, removeAllAsync, removeAsync, retainAllAsync, sizeAsyncMethods inherited from interface org.redisson.api.RDeque
addFirst, addFirstIfExists, addLast, addLastIfExists, moveMethods inherited from interface org.redisson.api.RDequeAsync
addFirstAsync, addFirstAsync, addFirstIfExistsAsync, addLastAsync, addLastAsync, addLastIfExistsAsync, getLastAsync, moveAsync, offerFirstAsync, offerLastAsync, peekFirstAsync, peekLastAsync, pollFirstAsync, pollLastAsync, popAsync, pushAsync, removeFirstAsync, removeFirstOccurrenceAsync, removeLastAsync, removeLastOccurrenceAsyncMethods inherited from interface org.redisson.api.RExpirable
clearExpire, expire, expire, expire, expireAt, expireAt, expireIfGreater, expireIfGreater, expireIfLess, expireIfLess, expireIfNotSet, expireIfNotSet, expireIfSet, expireIfSet, getExpireTime, remainTimeToLiveMethods inherited from interface org.redisson.api.RExpirableAsync
clearExpireAsync, expireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, expireIfGreaterAsync, expireIfGreaterAsync, expireIfLessAsync, expireIfLessAsync, expireIfNotSetAsync, expireIfNotSetAsync, expireIfSetAsync, expireIfSetAsync, getExpireTimeAsync, remainTimeToLiveAsyncMethods inherited from interface org.redisson.api.RObject
copy, copy, copy, copyAndReplace, copyAndReplace, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlinkMethods inherited from interface org.redisson.api.RObjectAsync
copyAndReplaceAsync, copyAndReplaceAsync, copyAsync, copyAsync, copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsyncMethods inherited from interface org.redisson.api.RPriorityDeque
descendingStreamMethods inherited from interface org.redisson.api.RPriorityQueue
comparator, pollLastAndOfferFirstTo, readAll, trySetComparatorMethods inherited from interface org.redisson.api.RQueue
addListenerMethods inherited from interface org.redisson.api.RQueueAsync
addListenerAsync, peekAsync, pollAsync, pollLastAndOfferFirstToAsync, readAllAsync
-
Constructor Details
-
RedissonPriorityBlockingDeque
protected RedissonPriorityBlockingDeque(CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson) -
RedissonPriorityBlockingDeque
protected RedissonPriorityBlockingDeque(Codec codec, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)
-
-
Method Details
-
put
- Specified by:
putin interfaceBlockingDeque<V>- Specified by:
putin interfaceBlockingQueue<V>- Throws:
InterruptedException
-
offer
- Specified by:
offerin interfaceBlockingDeque<V>- Specified by:
offerin interfaceBlockingQueue<V>- Throws:
InterruptedException
-
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
- Specified by:
takein interfaceBlockingDeque<V>- Specified by:
takein interfaceBlockingQueue<V>- Throws:
InterruptedException
-
pollAsync
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
- Specified by:
pollin interfaceBlockingDeque<V>- Specified by:
pollin interfaceBlockingQueue<V>- Throws:
InterruptedException
-
pollFromAny
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
-
pollFromAnyWithName
public Entry<String,V> pollFromAnyWithName(Duration timeout, 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:
pollFromAnyWithNamein interfaceRBlockingQueue<V>- Parameters:
timeout- how long to wait before giving up, in units ofunitqueueNames- 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
-
pollFromAnyWithNameAsync
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:
pollFromAnyWithNameAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
timeout- how long to wait before giving upqueueNames- - 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
-
pollFirstFromAny
public Map<String,List<V>> pollFirstFromAny(Duration duration, int count, String... queueNames) throws InterruptedException Description copied from interface:RBlockingQueueRetrieves and removes first available head elements 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.Requires Redis 7.0.0 and higher.
- Specified by:
pollFirstFromAnyin interfaceRBlockingQueue<V>- Parameters:
duration- how long to wait before giving upcount- elements amountqueueNames- name of queues- Returns:
- the head elements
- Throws:
InterruptedException
-
pollLastFromAny
public Map<String,List<V>> pollLastFromAny(Duration duration, int count, String... queueNames) throws InterruptedException Description copied from interface:RBlockingQueueRetrieves and removes first available tail elements 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.Requires Redis 7.0.0 and higher.
- Specified by:
pollLastFromAnyin interfaceRBlockingQueue<V>- Parameters:
duration- how long to wait before giving upcount- elements amountqueueNames- name of queues- Returns:
- the tail elements
- Throws:
InterruptedException
-
pollFirstFromAnyAsync
public RFuture<Map<String,List<V>>> pollFirstFromAnyAsync(Duration duration, int count, String... queueNames) Description copied from interface:RBlockingQueueAsyncRetrieves and removes first available head elements 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.Requires Redis 7.0.0 and higher.
- Specified by:
pollFirstFromAnyAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
duration- how long to wait before giving upcount- elements amountqueueNames- name of queues- Returns:
- the head elements
-
pollLastFromAnyAsync
public RFuture<Map<String,List<V>>> pollLastFromAnyAsync(Duration duration, int count, String... queueNames) Description copied from interface:RBlockingQueueAsyncRetrieves and removes first available tail elements 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.Requires Redis 7.0.0 and higher.
- Specified by:
pollLastFromAnyAsyncin interfaceRBlockingQueueAsync<V>- Parameters:
duration- how long to wait before giving upcount- elements amountqueueNames- name of queues- Returns:
- the tail elements
-
pollLastAndOfferFirstToAsync
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
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
Description copied from interface:RBlockingQueueUseRBlockingQueue.subscribeOnElements(Function)instead.- Specified by:
subscribeOnElementsin interfaceRBlockingQueue<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
subscribeOnElements
Description copied from interface:RBlockingQueueSubscribes on elements appeared in this queue. Continuously invokesRBlockingQueueAsync.takeAsync()method to get a new element.NOTE: don't call blocking methods in the elements listener
- Specified by:
subscribeOnElementsin interfaceRBlockingQueue<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
unsubscribe
public void unsubscribe(int listenerId) Description copied from interface:RBlockingQueueUn-subscribes defined listener.- Specified by:
unsubscribein interfaceRBlockingQueue<V>- Parameters:
listenerId- - id of listener
-
takeLastAndOfferFirstToAsync
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
- Specified by:
drainToin interfaceBlockingQueue<V>
-
drainToAsync
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
- Specified by:
drainToin interfaceBlockingQueue<V>
-
drainToAsync
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
-
offerAsync
Description copied from interface:RQueueAsyncInserts the specified element into this queue.- Specified by:
offerAsyncin interfaceRQueueAsync<V>- Overrides:
offerAsyncin classRedissonPriorityQueue<V>- Parameters:
e- the element to add- Returns:
trueif successful, orfalse
-
pollAsync
Description copied from interface:RQueueAsyncRetrieves and removes the head elements of this queue. Elements amount limited bylimitparam.- Specified by:
pollAsyncin interfaceRQueueAsync<V>- Overrides:
pollAsyncin classRedissonPriorityQueue<V>- Returns:
- list of head elements
-
pollFromAnyAsync
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
-
putAsync
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
-
putFirstAsync
Description copied from interface:RBlockingDequeAsyncAdds value to the head of queue.- Specified by:
putFirstAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
e- value- Returns:
- void
-
putLastAsync
Description copied from interface:RBlockingDequeAsyncAdds value to the tail of queue.- Specified by:
putLastAsyncin interfaceRBlockingDequeAsync<V>- Parameters:
e- value- Returns:
- void
-
putFirst
- Specified by:
putFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
putLast
- Specified by:
putLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
offerFirst
- Specified by:
offerFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
offerLast
- Specified by:
offerLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
takeFirst
- Specified by:
takeFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
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
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
- Specified by:
takeLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
pollFirstAsync
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
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
Description copied from interface:RBlockingDequeUseRBlockingDeque.subscribeOnFirstElements(Function)instead.- Specified by:
subscribeOnFirstElementsin interfaceRBlockingDeque<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
subscribeOnLastElements
Description copied from interface:RBlockingDequeUseRBlockingDeque.subscribeOnLastElements(Function)instead.- Specified by:
subscribeOnLastElementsin interfaceRBlockingDeque<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
subscribeOnLastElements
Description copied from interface:RBlockingDequeSubscribes on last elements appeared in this queue. Continuously invokesRBlockingDequeAsync.takeLastAsync()method to get a new element.NOTE: don't call blocking methods in the elements listener
- Specified by:
subscribeOnLastElementsin interfaceRBlockingDeque<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
subscribeOnFirstElements
Description copied from interface:RBlockingDequeUseRBlockingDeque.subscribeOnLastElements(Function)instead. Continuously invokesRBlockingDequeAsync.takeFirstAsync()method to get a new element.NOTE: don't call blocking methods in the elements listener
- Specified by:
subscribeOnFirstElementsin interfaceRBlockingDeque<V>- Parameters:
consumer- - queue elements listener- Returns:
- listenerId - id of listener
-
pollLastFromAnyAsync
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
- Specified by:
pollFirstin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
pollLastAsync
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
- Specified by:
pollLastin interfaceBlockingDeque<V>- Throws:
InterruptedException
-
poll
Description copied from interface:RQueueRetrieves and removes the head elements of this queue. Elements amount limited bylimitparam. -
pollLast
Description copied from interface:RDequeRetrieves and removes the tail elements of this queue. Elements amount limited bylimitparam. -
pollFirst
Description copied from interface:RDequeRetrieves and removes the head elements of this queue. Elements amount limited bylimitparam. -
pollFirstAsync
Description copied from interface:RDequeAsyncRetrieves and removes the head elements of this queue. Elements amount limited bylimitparam.- Specified by:
pollFirstAsyncin interfaceRDequeAsync<V>- Overrides:
pollFirstAsyncin classRedissonPriorityDeque<V>- Returns:
- list of head elements
-
pollLastAsync
Description copied from interface:RDequeAsyncRetrieves and removes the tail elements of this queue. Elements amount limited bylimitparam.- Specified by:
pollLastAsyncin interfaceRDequeAsync<V>- Overrides:
pollLastAsyncin classRedissonPriorityDeque<V>- Returns:
- list of tail elements
-
move
- Specified by:
movein interfaceRBlockingDeque<V>
-
moveAsync
- Specified by:
moveAsyncin interfaceRBlockingDequeAsync<V>
-
expire
Description copied from interface:RExpirableUseRExpirable.expire(Duration)instead- Specified by:
expirein interfaceRExpirable- Parameters:
timeToLive- - timeout before object will be deletedtimeUnit- - timeout time unit- Returns:
trueif the timeout was set andfalseif not
-
expireAsync
Description copied from interface:RExpirableAsyncUseRExpirableAsync.expireAsync(Duration)instead- 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
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
Description copied from interface:RExpirableSets an expiration date for this 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
-
expireIfSet
Description copied from interface:RExpirableSets an expiration date for this object only if it has been already set. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfSetin interfaceRExpirable- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfSetAsync
Description copied from interface:RExpirableAsyncSets an expiration date for this object only if it has been already set. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfSetAsyncin interfaceRExpirableAsync- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfNotSet
Description copied from interface:RExpirableSets an expiration date for this object only if it hasn't been set before. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfNotSetin interfaceRExpirable- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfNotSetAsync
Description copied from interface:RExpirableAsyncSets an expiration date for this object only if it hasn't been set before. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfNotSetAsyncin interfaceRExpirableAsync- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfGreater
Description copied from interface:RExpirableSets an expiration date for this object only if it's greater than expiration date set before. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfGreaterin interfaceRExpirable- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfGreaterAsync
Description copied from interface:RExpirableAsyncSets an expiration date for this object only if it's greater than expiration date set before. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfGreaterAsyncin interfaceRExpirableAsync- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfLess
Description copied from interface:RExpirableSets an expiration date for this object only if it's less than expiration date set before. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfLessin interfaceRExpirable- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfLessAsync
Description copied from interface:RExpirableAsyncSets an expiration date for this object only if it's less than expiration date set before. When expire date comes the object will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfLessAsyncin interfaceRExpirableAsync- Parameters:
time- expire date- Returns:
trueif the timeout was set andfalseif not
-
expireAsync
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
-
expire
Description copied from interface:RExpirableSets a timeout for this object. After the timeout has expired, the key will automatically be deleted.- Specified by:
expirein interfaceRExpirable- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireAsync
Description copied from interface:RExpirableAsyncSet a timeout for object. After the timeout has expired, the key will automatically be deleted.- Specified by:
expireAsyncin interfaceRExpirableAsync- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireAt
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
Description copied from interface:RExpirableAsyncUseRExpirableAsync.expireAsync(Instant)instead- Specified by:
expireAtAsyncin interfaceRExpirableAsync- Parameters:
timestamp- - expire date- Returns:
trueif the timeout was set andfalseif not
-
expireIfSet
Description copied from interface:RExpirableSets a timeout for this object only if it has been already set. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfSetin interfaceRExpirable- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfSetAsync
Description copied from interface:RExpirableAsyncSets a timeout for this object only if it has been already set. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfSetAsyncin interfaceRExpirableAsync- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfNotSet
Description copied from interface:RExpirableSets a timeout for this object only if it hasn't been set before. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfNotSetin interfaceRExpirable- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfNotSetAsync
Description copied from interface:RExpirableAsyncSets a timeout for this object only if it hasn't been set before. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfNotSetAsyncin interfaceRExpirableAsync- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfGreater
Description copied from interface:RExpirableSets a timeout for this object only if it's greater than timeout set before. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfGreaterin interfaceRExpirable- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfGreaterAsync
Description copied from interface:RExpirableAsyncSets a timeout for this object only if it's greater than timeout set before. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfGreaterAsyncin interfaceRExpirableAsync- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfLess
Description copied from interface:RExpirableSets a timeout for this object only if it's less than timeout set before. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfLessin interfaceRExpirable- Parameters:
duration- timeout before object will be deleted- Returns:
trueif the timeout was set andfalseif not
-
expireIfLessAsync
Description copied from interface:RExpirableAsyncSets a timeout for this object only if it's less than timeout set before. After the timeout has expired, the key will automatically be deleted.Requires Redis 7.0.0 and higher.
- Specified by:
expireIfLessAsyncin interfaceRExpirableAsync- Parameters:
duration- timeout before object will be deleted- 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
-
remainTimeToLive
public long remainTimeToLive()Description copied from interface:RExpirableReturns remaining time of the object in milliseconds.- 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
Description copied from interface:RExpirableAsyncReturns remaining time of the object in milliseconds.- 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.
-
getExpireTime
public long getExpireTime()Description copied from interface:RExpirableReturns expiration time of the object as the absolute Unix expiration timestamp in milliseconds.Requires Redis 7.0.0 and higher.
- Specified by:
getExpireTimein interfaceRExpirable- Returns:
- Unix time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expiration time.
-
getExpireTimeAsync
Description copied from interface:RExpirableAsyncReturns expiration time of the object as the absolute Unix expiration timestamp in milliseconds.Requires Redis 7.0.0 and higher.
- Specified by:
getExpireTimeAsyncin interfaceRExpirableAsync- Returns:
- Unix time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expiration time.
-
clearExpireAsync
-