我有一个Jersey客户端,想要在SocketTimeoutException
上执行重试,这是我在服务器日志中看到的错误。代码框架如下。 webtarget
是一个javax.ws.rs.client.WebTarget
实例,URL路径和queryparams已经定义。我面临的问题是webtarget.request.get()
从不抛出任何SocketTimeoutException,所以我实际上无法捕获这个异常。任何想法如何我可以实际执行重试?SocketTimeoutException上的java球衣重试请求
int i = 0;
Response response;
while (true) {
try {
response = webtarget.request().get();
break;
} catch (SocketTimeoutException e){
if (i < retryNumber) {
i++;
} else {
// throws some exception
}
}
}
你不想增加一个请求的客户端超时,以避免套接字超时异常本身。 –