Class BaseUniversalRedisQueue<T extends BaseUniversalQueueMessage<ID>,ID>
- java.lang.Object
-
- com.github.ddth.queue.impl.AbstractQueue<ID,DATA>
-
- com.github.ddth.queue.impl.AbstractEphemeralSupportQueue<ID,DATA>
-
- com.github.ddth.queue.impl.BaseRedisQueue<ID,DATA>
-
- com.github.ddth.queue.impl.RedisQueue<ID,byte[]>
-
- com.github.ddth.queue.impl.universal.BaseUniversalRedisQueue<T,ID>
-
- Type Parameters:
T
-
- All Implemented Interfaces:
IQueue<ID,byte[]>
,AutoCloseable
- Direct Known Subclasses:
UniversalRedisQueue
,UniversalRedisQueue
public abstract class BaseUniversalRedisQueue<T extends BaseUniversalQueueMessage<ID>,ID> extends RedisQueue<ID,byte[]>
Base class for universal Redis queue implementations.- Since:
- 0.3.3
- Author:
- Thanh Nguyen
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.github.ddth.queue.impl.AbstractQueue
AbstractQueue.PutToQueueCase
-
-
Field Summary
-
Fields inherited from class com.github.ddth.queue.impl.RedisQueue
DEFAULT_HOST_AND_PORT
-
Fields inherited from class com.github.ddth.queue.impl.BaseRedisQueue
DEFAULT_HASH_NAME, DEFAULT_LIST_NAME, DEFAULT_PASSWORD, DEFAULT_SORTED_SET_NAME, myOwnRedis
-
Fields inherited from interface com.github.ddth.queue.IQueue
SIZE_NOT_SUPPORTED
-
-
Constructor Summary
Constructors Constructor Description BaseUniversalRedisQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
take()
Take a message out of queue.-
Methods inherited from class com.github.ddth.queue.impl.RedisQueue
buildJedisConnector, closeJedisCommands, getBinaryJedisCommands, getRedisHostAndPort, remove, setRedisHostAndPort, storeNew, storeOld
-
Methods inherited from class com.github.ddth.queue.impl.BaseRedisQueue
destroy, doPutToQueue, ephemeralSize, finish, getJedisConnector, getOrphanMessages, getRedisHashName, getRedisHashNameAsBytes, getRedisListName, getRedisListNameAsBytes, getRedisPassword, getRedisSortedSetName, getRedisSortedSetNameAsBytes, getScriptTake, getScriptTakeAsBytes, init, queueSize, setJedisConnector, setJedisConnector, setRedisHashName, setRedisListName, setRedisPassword, setRedisSortedSetName, setScriptTake
-
Methods inherited from class com.github.ddth.queue.impl.AbstractEphemeralSupportQueue
getEphemeralDisabled, getEphemeralMaxSize, isEphemeralDisabled, setEphemeralDisabled, setEphemeralMaxSize
-
Methods inherited from class com.github.ddth.queue.impl.AbstractQueue
close, createMessage, createMessage, createMessage, deserialize, deserialize, getMessageFactory, getQueueName, getSerDeser, queue, requeue, requeueSilent, serialize, setMessageFactory, setQueueName, setSerDeser
-
-
-
-
Method Detail
-
take
public T take()
Take a message out of queue.Implementation flow:
- Read message from head of queue storage.
- Write message to ephemeral storage.
- Remove message from queue storage.
Note: ephemeral storage implementation is optional, depends on implementation.
- Specified by:
take
in interfaceIQueue<T extends BaseUniversalQueueMessage<ID>,ID>
- Overrides:
take
in classRedisQueue<ID,byte[]>
- Returns:
-
-