Apache HttpClient: Limit total calls per second

2.8k views Asked by At

I need to limit the number of HTTP calls per second to max 10. This is as per the allowed quota.

Does HttpClient has some feature for this? Or any custom implementation would also do.

1

There are 1 answers

2
StvnBrkdll On BEST ANSWER

You might try the ScheduledThreadPoolExecutor.

From the javadoc:

A ThreadPoolExecutor that can additionally schedule commands to run after a given delay, or to execute periodically

You would simply use the schedule method and pass it a Runnable, where the Runnable makes your call via the HttpClient. You could schedule your Runnable to run 10 times per second, or as needed. The Executor will queue up your calls over the HttpClient, and only run a max of 10 per second.