您知道任何支持HTTP / 1.1(http://en.wikipedia.org/wiki/HTTP_pipelining)的HTTP流水线选项的免费Java库吗?
答案 0 :(得分:1)
我认为你不会发现任何支持管道衬里的常见产品。 Jetty HttpClient似乎从文档中支持它,但我无法做到这一点。
请注意,Pipeline与keep-alive不同。保持活动只意味着重用连接,但它仍然可以通过连接一次只发送一个请求。使用管道衬里,您可以通过同一连接同时发送多个请求,并等待各自的响应。
答案 1 :(得分:1)
答案 2 :(得分:0)
hotpotato即将支持流水线真正。性能方面,它优于Apache的HTTP客户端,特别是在高并发环境中(使用相同客户端实例的多个线程)。
我仍然需要发布结果,但在LAN测试中,我得到~7000req / s(hotpotato)vs~100req / s(apache's)。当然,必须要有很多优点去Netty,这个惊人的框架hotpotato建立在它之上;)
如果您不需要一个花哨的成熟客户端,请查看here以获得更简单的版本。
答案 3 :(得分:0)
我意识到我的答案大约有一年了,但由于这是“java http pipelining”的顶级链接之一,我认为这是相关的。
Hotpotato确实现在支持流水线操作,而且在我有限的经验中,它到目前为止一直很好用。还有一个很好的API来启动。
http://hotpotato.biasedbit.com/
编辑:看起来这个项目现在没有维护,作者推荐Async HTTP客户端:https://github.com/ning/async-http-client/
答案 4 :(得分:0)
Apache HttpComponents Core 5 支持 HTTP/1.1 流水线。该示例可以在 here 中找到。