Я использую AsyncHttpClient и делаю много HTTP-запросов параллельно. Я получаю следующую ошибку:
java.util.concurrent.RejectedExecutionException: Thread limit exceeded replacing blocked worker
Как я могу сделать так, чтобы новый запрос ждал, пока не появится свободный поток?
Мой код:
public class MyClass {
private AsyncHttpClient asyncHttpClient = new DefaultAsyncHttpClient();
public JSONObject jsonFromUrl(String requestUrl) {
CompletableFuture<Response> futureResponse = asyncHttpClient.prepareGet(requestUrl).
addHeader("header-name", "header-value").execute().toCompletableFuture();
try {
Response response = futureResponse.get();
... handling response
} catch (Exception e) {
... handling exception
}
}
}