Asynchronous HTTP Client for Java
Solution 1:
Use the "Async Http Client" formerly called ning http client library. See https://github.com/AsyncHttpClient/async-http-client
Solution 2:
Version 4.0 of Apache Commons HttpClient (now in HttpComponents/HttpCore) also support Java's NIO (non-blocking IO). I think this is your best bet.
Solution 3:
The Jetty HTTP client is asynchronous.