Skip to content
Snippets Groups Projects
Commit 3e554eaa authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

[fix] Do not retry http request if HttpHostConnectException

parent 5c4cb1d1
Branches
No related tags found
No related merge requests found
Pipeline #4327 passed
...@@ -41,6 +41,7 @@ import org.apache.http.client.protocol.HttpClientContext; ...@@ -41,6 +41,7 @@ import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.client.utils.URIBuilder; import org.apache.http.client.utils.URIBuilder;
import org.apache.http.config.SocketConfig; import org.apache.http.config.SocketConfig;
import org.apache.http.conn.ConnectTimeoutException; import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.conn.HttpHostConnectException;
import org.apache.http.entity.ContentType; import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
...@@ -294,11 +295,17 @@ public class HttpServiceImpl implements HttpService, Closeable, InitializingBean ...@@ -294,11 +295,17 @@ public class HttpServiceImpl implements HttpService, Closeable, InitializingBean
// SSL handshake exception // SSL handshake exception
retrying = false; retrying = false;
} }
else if (exception instanceof HttpHostConnectException) {
// Host connect error
retrying = false;
}
if (retrying && executionCount >= maxRetryCount) { if (retrying && executionCount >= maxRetryCount) {
// Do not retry if over max retry count // Do not retry if over max retry count
return false; return false;
} }
HttpClientContext clientContext = HttpClientContext.adapt(context); HttpClientContext clientContext = HttpClientContext.adapt(context);
HttpRequest request = clientContext.getRequest(); HttpRequest request = clientContext.getRequest();
if (!retrying) { if (!retrying) {
...@@ -331,7 +338,7 @@ public class HttpServiceImpl implements HttpService, Closeable, InitializingBean ...@@ -331,7 +338,7 @@ public class HttpServiceImpl implements HttpService, Closeable, InitializingBean
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected <T> T executeRequest(HttpClient httpClient, HttpUriRequest request, Class<? extends T> resultClass, Class<?> errorClass) { protected <T> T executeRequest(HttpClient httpClient, HttpUriRequest request, Class<? extends T> resultClass, Class<?> errorClass) {
return executeRequest(httpClient, request, resultClass, errorClass, 5); return executeRequest(httpClient, request, resultClass, errorClass, 1);
} }
protected <T> T executeRequest(HttpClient httpClient, HttpUriRequest request, Class<? extends T> resultClass, Class<?> errorClass, int retryCount) { protected <T> T executeRequest(HttpClient httpClient, HttpUriRequest request, Class<? extends T> resultClass, Class<?> errorClass, int retryCount) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment