У меня есть клиент Джерси и вы хотите выполнить повторную попытку после SocketTimeoutException
, что является ошибкой, которую я вижу в журнале сервера. Скелет кода находится ниже. webtarget
- это экземпляр javax.ws.rs.client.WebTarget
с URL-адресом и параметрами запроса, которые уже определены. Проблема, с которой я сталкиваюсь, заключается в том, что webtarget.request.get()
никогда не выбрасывает исключение SocketTimeoutException, поэтому я не могу это исключить. Любые мысли о том, как я могу реально выполнить повтор?java Джерси запрос повторения на SocketTimeoutException
int i = 0;
Response response;
while (true) {
try {
response = webtarget.request().get();
break;
} catch (SocketTimeoutException e){
if (i < retryNumber) {
i++;
} else {
// throws some exception
}
}
}
Не хотите увеличивать время ожидания клиента для запроса, чтобы исключить исключение тайм-аут сокета на первое место. –