我有一個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
}
}
}
你不想增加一個請求的客戶端超時,以避免套接字超時異常本身。 –