public class RedisPipelineQueue
extends java.lang.Object
implements com.netflix.dyno.queues.DynoQueue
| Constructor and Description |
|---|
RedisPipelineQueue(java.time.Clock clock,
java.lang.String redisKeyPrefix,
java.lang.String queue,
java.lang.String shardName,
int unackScheduleInMS,
int unackTime,
RedisConnection pool) |
RedisPipelineQueue(java.lang.String redisKeyPrefix,
java.lang.String queueName,
java.lang.String shardName,
int unackScheduleInMS,
int unackTime,
RedisConnection pool) |
| Modifier and Type | Method and Description |
|---|---|
void |
ack(java.util.List<com.netflix.dyno.queues.Message> messages) |
boolean |
ack(java.lang.String messageId) |
void |
atomicProcessUnacks() |
boolean |
atomicRemove(java.lang.String messageId) |
java.util.List<com.netflix.dyno.queues.Message> |
bulkPop(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit) |
void |
clear() |
void |
close() |
boolean |
containsPredicate(java.lang.String predicate) |
boolean |
containsPredicate(java.lang.String predicate,
boolean localShardOnly) |
boolean |
ensure(com.netflix.dyno.queues.Message message) |
java.util.List<com.netflix.dyno.queues.Message> |
findStaleMessages() |
com.netflix.dyno.queues.Message |
get(java.lang.String messageId) |
java.util.List<com.netflix.dyno.queues.Message> |
getAllMessages() |
java.lang.String |
getMsgWithPredicate(java.lang.String predicate) |
java.lang.String |
getMsgWithPredicate(java.lang.String predicate,
boolean localShardOnly) |
java.lang.String |
getName() |
int |
getUnackTime() |
com.netflix.dyno.queues.Message |
localGet(java.lang.String messageId) |
java.util.List<com.netflix.dyno.queues.Message> |
peek(int messageCount) |
java.util.List<com.netflix.dyno.queues.Message> |
pop(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit) |
com.netflix.dyno.queues.Message |
popMsgWithPredicate(java.lang.String predicate,
boolean localShardOnly) |
com.netflix.dyno.queues.Message |
popWithMsgId(java.lang.String messageId) |
void |
processUnacks() |
java.util.List<java.lang.String> |
push(java.util.List<com.netflix.dyno.queues.Message> messages) |
boolean |
remove(java.lang.String messageId) |
void |
setNonQuorumPool(RedisConnection nonQuorumPool) |
boolean |
setTimeout(java.lang.String messageId,
long timeout) |
boolean |
setUnackTimeout(java.lang.String messageId,
long timeout) |
java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Long>> |
shardSizes() |
long |
size() |
java.util.List<com.netflix.dyno.queues.Message> |
unsafeBulkPop(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit) |
java.util.List<com.netflix.dyno.queues.Message> |
unsafePeekAllShards(int messageCount) |
java.util.List<com.netflix.dyno.queues.Message> |
unsafePopAllShards(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit) |
com.netflix.dyno.queues.Message |
unsafePopWithMsgIdAllShards(java.lang.String messageId) |
public RedisPipelineQueue(java.lang.String redisKeyPrefix,
java.lang.String queueName,
java.lang.String shardName,
int unackScheduleInMS,
int unackTime,
RedisConnection pool)
public RedisPipelineQueue(java.time.Clock clock,
java.lang.String redisKeyPrefix,
java.lang.String queue,
java.lang.String shardName,
int unackScheduleInMS,
int unackTime,
RedisConnection pool)
public void setNonQuorumPool(RedisConnection nonQuorumPool)
nonQuorumPool - When using a cluster like Dynomite, which relies on the quorum reads, supply a separate non-quorum read connection for ops like size etc.public java.lang.String getName()
getName in interface com.netflix.dyno.queues.DynoQueuepublic int getUnackTime()
getUnackTime in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<java.lang.String> push(java.util.List<com.netflix.dyno.queues.Message> messages)
push in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> peek(int messageCount)
peek in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> pop(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit)
pop in interface com.netflix.dyno.queues.DynoQueuepublic com.netflix.dyno.queues.Message popWithMsgId(java.lang.String messageId)
popWithMsgId in interface com.netflix.dyno.queues.DynoQueuepublic com.netflix.dyno.queues.Message unsafePopWithMsgIdAllShards(java.lang.String messageId)
unsafePopWithMsgIdAllShards in interface com.netflix.dyno.queues.DynoQueuepublic boolean ack(java.lang.String messageId)
ack in interface com.netflix.dyno.queues.DynoQueuepublic void ack(java.util.List<com.netflix.dyno.queues.Message> messages)
ack in interface com.netflix.dyno.queues.DynoQueuepublic boolean setUnackTimeout(java.lang.String messageId,
long timeout)
setUnackTimeout in interface com.netflix.dyno.queues.DynoQueuepublic boolean setTimeout(java.lang.String messageId,
long timeout)
setTimeout in interface com.netflix.dyno.queues.DynoQueuepublic boolean remove(java.lang.String messageId)
remove in interface com.netflix.dyno.queues.DynoQueuepublic boolean ensure(com.netflix.dyno.queues.Message message)
ensure in interface com.netflix.dyno.queues.DynoQueuepublic boolean containsPredicate(java.lang.String predicate)
containsPredicate in interface com.netflix.dyno.queues.DynoQueuepublic java.lang.String getMsgWithPredicate(java.lang.String predicate)
getMsgWithPredicate in interface com.netflix.dyno.queues.DynoQueuepublic boolean containsPredicate(java.lang.String predicate,
boolean localShardOnly)
containsPredicate in interface com.netflix.dyno.queues.DynoQueuepublic java.lang.String getMsgWithPredicate(java.lang.String predicate,
boolean localShardOnly)
getMsgWithPredicate in interface com.netflix.dyno.queues.DynoQueuepublic com.netflix.dyno.queues.Message popMsgWithPredicate(java.lang.String predicate,
boolean localShardOnly)
popMsgWithPredicate in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> bulkPop(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit)
bulkPop in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> unsafeBulkPop(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit)
unsafeBulkPop in interface com.netflix.dyno.queues.DynoQueuepublic com.netflix.dyno.queues.Message get(java.lang.String messageId)
get in interface com.netflix.dyno.queues.DynoQueuepublic com.netflix.dyno.queues.Message localGet(java.lang.String messageId)
localGet in interface com.netflix.dyno.queues.DynoQueuepublic long size()
size in interface com.netflix.dyno.queues.DynoQueuepublic java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.Long>> shardSizes()
shardSizes in interface com.netflix.dyno.queues.DynoQueuepublic void clear()
clear in interface com.netflix.dyno.queues.DynoQueuepublic void processUnacks()
processUnacks in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> getAllMessages()
getAllMessages in interface com.netflix.dyno.queues.DynoQueuepublic void atomicProcessUnacks()
atomicProcessUnacks in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> findStaleMessages()
findStaleMessages in interface com.netflix.dyno.queues.DynoQueuepublic boolean atomicRemove(java.lang.String messageId)
atomicRemove in interface com.netflix.dyno.queues.DynoQueuepublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseablejava.io.IOExceptionpublic java.util.List<com.netflix.dyno.queues.Message> unsafePeekAllShards(int messageCount)
unsafePeekAllShards in interface com.netflix.dyno.queues.DynoQueuepublic java.util.List<com.netflix.dyno.queues.Message> unsafePopAllShards(int messageCount,
int wait,
java.util.concurrent.TimeUnit unit)
unsafePopAllShards in interface com.netflix.dyno.queues.DynoQueue