我遇到了HttpClient的問題,它在發生異常後沒有對服務器進行任何嘗試。HttpClient在異常後不會重試
我已初步使用CloseableHttpClient建立連接,什麼我發現是,它throughing IOException異常不時。 這可能是由於不同的原因,但我認爲客戶端會嘗試連接到服務器幾次。但似乎並非如此。 我的理解是,CloseableHttpClient在執行語句和/或發生異常之後關閉連接,因此沒有重試。
我看着HttpClient的及文檔中它指出自動重試時,客戶端無法建立連接
每默認的HttpClient會自動嘗試從 不是致命的恢復發生錯誤,即拋出普通IOException時。 如果請求 從未完全傳輸到目標服務器,HttpClient將重試該方法三次。有關HTTP方法恢復的詳細 討論,請參閱HttpClient的 異常處理指南
所以,如果一個IOException發生,應該有更多的嘗試。
我應該使用什麼方法來確保當客戶端嘗試與服務器建立連接時,如果嘗試失敗,它會再嘗試幾次?
private Map<String, String> queryResults(String query) throws OrnClientException {
try {
HttpResponse response = httpClient.execute(new HttpGet(concatURL));
final String result = EntityUtils.toString(response.getEntity());
return extractMapFromQueryResults(result);
} catch (IOException e) {
}
}
httpClient.execute(新HTTPGET(concatURL));
這是我得到IOException的地方。
哪裏的代碼與您的問題有關? – Alfabravo
我有更新我的文章 – Sgr