Выйдите из процесса, если HttpClient повторится 3 раза - PullRequest
0 голосов
/ 21 сентября 2019

Я использую CloseableHttpClient для вызова POST URL-адреса и получения данных ответа от REST URL-адреса.
Я хочу выйти из кода в случае, если retryrequest не удастся 3 раза для запроса.
Прямо сейчас мой код пытается трижды, если нет ответа, и затем пытается выполнить следующий запрос.Как сделать так, чтобы код завершался, если запрос на повторную попытку не удался три раза.

    int maxRetries = 3;
            CloseableHttpClient client = HttpClientBuilder.create()
                    .setRetryHandler(new HttpRequestRetryHandler() {
                        @Override
                        public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {

                            return executionCount <= maxRetries;
                        }
                    })
                    .setServiceUnavailableRetryStrategy(new ServiceUnavailableRetryStrategy() {
                        int waitPeriod = 500;

                        @Override
                        public boolean retryRequest(HttpResponse response, int executionCount, HttpContext context) {
                            waitPeriod *= 2;
                            return executionCount <= maxRetries &&
                                    response.getStatusLine().getStatusCode() >= 500; //important!
                        }

                        @Override
                        public long getRetryInterval() {
                            return waitPeriod;
                        }
                    })
                    .build();

            HttpPost post = new HttpPost(url);
try{...
}
catch(IOException e) {
}

        } finally {
            post.releaseConnection();
        }
...