0
1秒あたりのHTTPコール数を最大10に制限する必要があります。Apache HttpClient:1秒あたりの総コール数を制限する
HttpClientにはこれにいくつかの機能がありますか?また、カスタム実装でも同様に実行できます。
1秒あたりのHTTPコール数を最大10に制限する必要があります。Apache HttpClient:1秒あたりの総コール数を制限する
HttpClientにはこれにいくつかの機能がありますか?また、カスタム実装でも同様に実行できます。
ScheduledThreadPoolExecutorをお試しください。
のjavadocから:
さらにスケジュールが指定された遅延時間後 を実行するために、または定期的に
あなたは単にschedule
メソッドを使用して、それ渡すを実行するためのコマンドができThreadPoolExecutor Runnable
、Runnable
はHttpClient
でお電話をします。 Runnable
は、毎秒10回、または必要に応じて実行するようにスケジュールできます。 Executor
は、HttpClient
以上の呼び出しをキューに入れ、最大10回/秒しか実行しません。
シナリオ内のHTTP呼び出しを同時に行うことはできません。彼らはすべて、互いに次々とシリーズになる必要があります。 ScheduledThreadPoolExecutorを使用すると、異なるスレッドが並行して実行されます。 – Vipul
[コンストラクタ](https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html#ThreadPoolExecutor(int、%20int、%20long、%20java.util)を設定します。 concurrent.TimeUnit、%20java.util.concurrent.BlockingQueue))引数 'maxPoolSize'を1に設定します。並行スレッドはありません。または、[setMaxPoolSize()](https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html#setMaximumPoolSize(int))を呼び出します。 – mangotang