Just found out an issue with shutting down the Bus when configured with AsyncHttpConduit.
In case it happens, applications won't be able to gracefully shutdown, as it causes requests to hang on the AsyncHTTPConduit.AsyncWrappedOutputStream::getHttpResponse indefinitely.
How to reproduce
This is an edge case, but it happens when the Bus is shutdown after the client started the request but before getting the ConnectException. Below there is a link to a Junit test reproducing the problem.
The test should hang forever on the last statement thread.join();, that is, waiting for the request thread to do it's job.
Note that you might need to run it a couple of times as it is a timing thing, in case you cannot reproduce the issue, you might need to tweak the Thread.sleep(1000).