public class BlockingQueueConsumer<T> extends Object implements QueueConsumer<T>
BlockingQueue
Constructor and Description |
---|
BlockingQueueConsumer(ConnectionStateListener connectionStateListener)
Creates with capacity of
Integer.MAX_VALUE |
BlockingQueueConsumer(ConnectionStateListener connectionStateListener,
BlockingQueue<T> queue)
Wrap the given blocking queue
|
BlockingQueueConsumer(ConnectionStateListener connectionStateListener,
int capacity) |
Modifier and Type | Method and Description |
---|---|
void |
consumeMessage(T message)
Process a message from the queue
|
int |
drainTo(Collection<? super T> c)
Removes all available elements from this queue and adds them
to the given collection.
|
List<T> |
getItems()
Return any currently queued items without removing them from the queue
|
int |
size()
Returns the number of currently queue items
|
void |
stateChanged(CuratorFramework client,
ConnectionState newState)
Called when there is a state change in the connection
|
T |
take()
Take the next item from the queue, blocking until there is an item available
|
T |
take(int time,
TimeUnit unit)
Take the next item from the queue, waiting up to the specified time for
an available item.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
doNotProxy
public BlockingQueueConsumer(ConnectionStateListener connectionStateListener)
Integer.MAX_VALUE
connectionStateListener
- listener for connection state changespublic BlockingQueueConsumer(ConnectionStateListener connectionStateListener, int capacity)
capacity
- max capacity (i.e. puts block if full)connectionStateListener
- listener for connection state changespublic BlockingQueueConsumer(ConnectionStateListener connectionStateListener, BlockingQueue<T> queue)
queue
- queue to useconnectionStateListener
- listener for connection state changespublic void consumeMessage(T message) throws Exception
QueueConsumer
consumeMessage
in interface QueueConsumer<T>
message
- message to processException
- any errorspublic List<T> getItems()
public int size()
public T take() throws InterruptedException
InterruptedException
- thread interruptionpublic T take(int time, TimeUnit unit) throws InterruptedException
null
is returned.time
- amount of time to blockunit
- time unitInterruptedException
- thread interruptionpublic int drainTo(Collection<? super T> c)
c
- the collection to transfer elements intoUnsupportedOperationException
- if addition of elements
is not supported by the specified collectionClassCastException
- if the class of an element of this queue
prevents it from being added to the specified collectionNullPointerException
- if the specified collection is nullIllegalArgumentException
- if the specified collection is this
queue, or some property of an element of this queue prevents
it from being added to the specified collectionpublic void stateChanged(CuratorFramework client, ConnectionState newState)
ConnectionStateListener
stateChanged
in interface ConnectionStateListener
client
- the clientnewState
- the new stateCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.