2014-06-15 4 views
2

Я использую FutureRequestExecutionService с HttpClient, состоящий из 20 подключений и ExecutorService, состоящий из 20 исполнителей. Каждый исполнитель делает HttpPost запрос vk.com API и возвращает Future с List проанализированных объектов.Ограничить количество подключений в секунду в Apache HttpClient

Однако, я получаю сообщение об ошибке от vk, говоря, что я делаю слишком много запросов в секунду (он ограничен 3 запросами в секунду).

У меня есть идея переписать запрошенные функции с помощью Akka, но есть ли способ ограничить количество запросов в секунду Apache HttpClient или любым другим более простым способом?

ответ

0

Можно сделать ввод/вывод дросселирования в байтах на вторую основе путем реализации пользовательских SocketImpl (например, сделано Apache JMeter) или по требованию на вторую основе путем внедрения пользовательского ManagedHttpClientConnection

0

Хорошее возможным решения может быть RateLimiter от Guava.

Смежные вопросы