dropwizard/dropwizard — pull request #452 by toffaletti (2014-01-28 01:15:35+00:00)
Title: replace ConcurrentArrayBlockingQueue with BlockingArrayQueue

The jetty project has been slowly removing all usages of ConcurrentArrayBlockingQueue.

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/log/?qt=grep&q=ConcurrentArrayBlockingQueue

The commit messages imply the implementation might not be correct or performant. Following their lead, I tried replacing its usage with org.eclipse.jetty.util.BlockingArrayQueue. Unfortunately their documentation for org.eclipse.jetty.util.BlockingArrayQueue is a lie:

```
Unlike {@link java.util.concurrent.ArrayBlockingQueue}, this class is able to grow and provides a blocking put call.
```
and the implementation of this amazing blocking put call:
```
@Override
public void put(E o) throws InterruptedException
{
// The mechanism to await and signal when the queue is full is not implemented
throw new UnsupportedOperationException();
}
```
I've chosen to fall back on the tried and true java.concurrent queues. Something like this change will be required for Jetty 9.1 as they've removed ConcurrentArrayBlockingQueue entirely https://bugs.eclipse.org/bugs/show_bug.cgi?id=403591.