2010-05-05 120 views

回答

1

了HTTPClient显然支持流水线这里:

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

,但我没有亲自尝试过,但无法验证这一点。

+0

Commons的HttpClient具有相同的功能开放RFE - HTTPS://issues.apache。 org/jira/browse/HTTPCLIENT-258 – Jon 2010-05-05 23:11:59

+0

这看起来非常古老:网页的日期是2001年。它还活着吗? – Raedwald 2012-10-10 11:50:07

1

我不认为你会发现任何支持管道衬里的常见问题。 Jetty HttpClient似乎从文档中支持它,但我无法做到这一点。

请注意管道不同于保持活动状态。保持连接意味着重用连接,但它仍然可以通过连接一次只发送一个请求。借助管道,您可以通过同一连接同时发送多个请求,并等待各自的响应。

0

hotpotato将支持流水线真的很快。在性能方面,它优于Apache的HTTP客户端,尤其是在高并发环境(使用相同客户端实例的多个线程)中。我仍然需要发布结果,但在局域网测试中,我得到〜7000req/s(hotpotato)vs〜100req/s(apache)。当然,很多优点必须交给Netty,这是一个令人惊叹的框架hotpotato;

如果你不需要一个花哨的全面的客户端,看看更简单的版本here

0

我意识到我的答案是大约一岁,但因为这是“java http pipelining”的顶级链接之一,所以我认为它是相关的。

Hotpotato确实现在支持流水线操作,并且在我有限的经验中,目前为止它一直在运行良好。也有一个很好的API来引导。

http://hotpotato.biasedbit.com/

编辑:貌似这个项目现在已无人维护和笔者建议的异步HTTP客户端:https://github.com/ning/async-http-client/

+0

链接http://hotpotato.biasedbit.com/已死亡。 – Raedwald 2012-10-10 11:51:04