The DependencyPriorityBlockingQueue provides all functionality of a PriorityBlockingQueue
while simultaneously supporting task dependencies using the Dependency
interface.
An independent worker is guaranteed to complete before the dependent worker that specifies it.
Priorities are specified by the worker extending the Priority
class.
When Priorities and Dependencies conflict, the expectation in a dependency chain is that the
entire chain will run at the priority specified by the independent worker.
No effort is made to guarantee all dependencies are satisfied. Responsibility falls on outside
components to validate the dependency graph for complete execution.
Public Constructor Summary
Public Method Summary
void |
clear()
|
boolean |
contains(Object o)
|
int |
drainTo(Collection<? super E> c, int maxElements)
|
int |
drainTo(Collection<? super E> c)
|
E |
peek()
|
E |
poll(long timeout, TimeUnit unit)
|
E |
poll()
|
void |
recycleBlockedQueue()
Removes all items from blocked Queue and inserts into primary queue to retry.
|
boolean |
remove(Object o)
|
boolean |
removeAll(Collection<?> collection)
|
int |
size()
|
E |
take()
|
<T> T[] |
toArray(T[] a)
|
Object[] |
toArray()
|
Inherited Method Summary
Public Constructors
public DependencyPriorityBlockingQueue ()
Public Methods
public void clear ()
public boolean contains (Object o)
Parameters
o |
public int drainTo (Collection<? super E> c, int maxElements)
Parameters
c | |
maxElements |
public int drainTo (Collection<? super E> c)
Parameters
c |
public E peek ()
public E poll (long timeout, TimeUnit unit)
Parameters
timeout | |
unit |
Throws
InterruptedException |
public E poll ()
public void recycleBlockedQueue ()
Removes all items from blocked Queue and inserts into primary queue to retry.
public boolean remove (Object o)
Parameters
o |
public boolean removeAll (Collection<?> collection)
Parameters
collection |
public int size ()
public E take ()
Throws
InterruptedException |
public T[] toArray (T[] a)
Parameters
a |