|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.curator.framework.recipes.queue.DistributedPriorityQueue<T>
public class DistributedPriorityQueue<T>
An implementation of the Distributed Priority Queue ZK recipe.
Internally, this uses a DistributedQueue. The only difference is that you specify a
priority when putting into the queue.
IMPORTANT NOTE: The priority queue will perform far worse than a standard queue. Every time an item is added to/removed from the queue, every watcher must re-get all the nodes
| Method Summary | |
|---|---|
void |
close()
|
boolean |
flushPuts(long waitTime,
TimeUnit timeUnit)
Wait until any pending puts are committed |
int |
getLastMessageCount()
Return the most recent message count from the queue. |
org.apache.curator.framework.listen.ListenerContainer<QueuePutListener<T>> |
getPutListenerContainer()
Return the manager for put listeners |
void |
put(T item,
int priority)
Add an item into the queue. |
boolean |
put(T item,
int priority,
int maxWait,
TimeUnit unit)
Same as put(Object, int) but allows a maximum wait time if an upper bound was set
via QueueBuilder.maxItems. |
void |
putMulti(MultiItem<T> items,
int priority)
Add a set of items with the same priority into the queue. |
boolean |
putMulti(MultiItem<T> items,
int priority,
int maxWait,
TimeUnit unit)
Same as putMulti(MultiItem, int) but allows a maximum wait time if an upper bound was set
via QueueBuilder.maxItems. |
void |
setErrorMode(ErrorMode newErrorMode)
Used when the queue is created with a QueueBuilder.lockPath(String). |
void |
start()
Start the queue. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public void start()
throws Exception
start in interface QueueBase<T>Exception - startup errors
public void close()
throws IOException
close in interface CloseableIOException
public void put(T item,
int priority)
throws Exception
QueueBuilder.maxItems, this method will
block until there is available space in the queue.
item - item to addpriority - item's priority - lower numbers come out of the queue first
Exception - connection issues
public boolean put(T item,
int priority,
int maxWait,
TimeUnit unit)
throws Exception
put(Object, int) but allows a maximum wait time if an upper bound was set
via QueueBuilder.maxItems.
item - item to addpriority - item's priority - lower numbers come out of the queue firstmaxWait - maximum waitunit - wait unit
Exception
public void putMulti(MultiItem<T> items,
int priority)
throws Exception
QueueBuilder.maxItems, this method will
block until there is available space in the queue.
items - items to addpriority - item priority - lower numbers come out of the queue first
Exception - connection issues
public boolean putMulti(MultiItem<T> items,
int priority,
int maxWait,
TimeUnit unit)
throws Exception
putMulti(MultiItem, int) but allows a maximum wait time if an upper bound was set
via QueueBuilder.maxItems.
items - items to addpriority - item priority - lower numbers come out of the queue firstmaxWait - maximum waitunit - wait unit
Exceptionpublic void setErrorMode(ErrorMode newErrorMode)
QueueBaseQueueBuilder.lockPath(String). Determines
the behavior when the queue consumer throws an exception
setErrorMode in interface QueueBase<T>newErrorMode - the new error mode (the default is ErrorMode.REQUEUE
public boolean flushPuts(long waitTime,
TimeUnit timeUnit)
throws InterruptedException
QueueBase
flushPuts in interface QueueBase<T>waitTime - max wait timetimeUnit - time unit
InterruptedException - if thread was interruptedpublic org.apache.curator.framework.listen.ListenerContainer<QueuePutListener<T>> getPutListenerContainer()
getPutListenerContainer in interface QueueBase<T>public int getLastMessageCount()
getLastMessageCount in interface QueueBase<T>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||