限制Apache HttpClient中每秒的连接数

时间:2014-06-15 13:53:08

标签: java apache-httpclient-4.x apache-httpcomponents

我正在使用FutureRequestExecutionService,其中HttpClient包含20个连接,ExecutorService包含20个执行程序。 每个执行程序正在对 vk.com API执行HttpPost请求,并返回Future一个已解析对象的List

但是,我收到来自vk的错误响应,说我每秒要求的次数太多(每秒有3个请求限制)。

我知道如何使用Akka重写所请求的功能,但有没有办法用Apache HttpClient或任何其他更简单的方法来限制每秒的请求数?

2 个答案:

答案 0 :(得分:0)

可以通过实现自定义SocketImpl(例如,由Apache JMeter完成)或通过实现自定义ManagedHttpClientConnection每秒的请求来以每秒字节为基础进行输入/输出限制p>

答案 1 :(得分:0)

可能的解决方案可能是来自Guava的RateLimiter