I am evaluating an HTTP client libraries for my application. This is a web application which calls various web services, aggregates content and then sends it to Ajax client. I think I need an async client because I want to release my application server (Tomcat) thread while I am waiting for long response from web service, so that Tomcat can reuse this thread to do something else while I am doing IO to target web service.
I found 3 libraries out there
- Apache HttpClient 4.x
- Jetty Http Client
- Sonotype Http Client (former Ning)
Wondering how this libraries compares.
I can see that Sonotype client can use pluggable providers for http handling, including Apache Http Client 3.x. What I don't see what I am loosing if I am using Apache Http 4.x client directly and not through Sonotype client.