Java-based HTTP client that supports pipelining

Do you know any free Java library that supports the HTTP / 1.1 HTTP pipeline option ( http://en.wikipedia.org/wiki/HTTP_pipelining )?

+3
java sockets
source share
4 answers

HTTPClient seems to support pipelining here:

http://www.innovation.ch/java/HTTPClient/

but I have not tried it personally and cannot verify this.

+1
source

I don’t think you will find common supporting pipe lining. Jetty HttpClient seems to support it from the document, but I could not do it.

Please note that Pipeline is different from keep-alive. Keep-alive simply means reusing the connection, but it can still only send one request at a time on the connection. With the handset, you can simultaneously send multiple requests over the same connection and wait for their corresponding responses.

+1
source

hotpotato will soon support pipelining indeed . It is superior in performance to the Apache HTTP Client, especially in environments with high concurrency (multiple threads using the same client instance).

I still need to post the results, but in the LAN test I get ~ 7000req / s (hotpotato) versus ~ 100req / s (apache). Of course, a big merit should go to Netty, the awesome hotpotato framework is based on :)

If you do not need a full-fledged full-fledged client, look here for a simpler version.

0
source

I understand that my answer is about a year, but since this is one of the main links for "java http pipelining", I thought it was relevant.

Hotpotato really supports the pipeline, and in my limited experience it still works. Also has a nice download API.

http://hotpotato.biasedbit.com/

EDIT: It looks like this project is no longer supported, and the author recommends the Async HTTP client: https://github.com/ning/async-http-client/

0
source

All Articles