如何在 SocketTimeoutException 后自动重新连接?
How to do an automatic reconnect after SocketTimeoutException?
我设置了连接超时。
HttpClient httpClient = org.apache.http.impl.client.HttpClientBuilder.create().build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setConnectTimeout((int) TimeUnit.MINUTES.toMillis(2));
factory.setReadTimeout((int) TimeUnit.MINUTES.toMillis(2));
factory.setHttpClient(httpClient);
RestTemplate restTemplate = new RestTemplate(factory);
我想在 SocketTimeoutException 后再次发送请求 5 次。我怎样才能自动做到这一点?
int tries, maxRetries = 5;
Connection connection;
do {
try {
// initialize connection
} catch (SocketTimeoutException ex) {
++tries;
if (maxRetries < tries) {
// exit
}
// sleep for some time between attempts
}
} while (connection == null);
您可以像上面那样使用一个简单的 do while 循环。
我设置了连接超时。
HttpClient httpClient = org.apache.http.impl.client.HttpClientBuilder.create().build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setConnectTimeout((int) TimeUnit.MINUTES.toMillis(2));
factory.setReadTimeout((int) TimeUnit.MINUTES.toMillis(2));
factory.setHttpClient(httpClient);
RestTemplate restTemplate = new RestTemplate(factory);
我想在 SocketTimeoutException 后再次发送请求 5 次。我怎样才能自动做到这一点?
int tries, maxRetries = 5;
Connection connection;
do {
try {
// initialize connection
} catch (SocketTimeoutException ex) {
++tries;
if (maxRetries < tries) {
// exit
}
// sleep for some time between attempts
}
} while (connection == null);
您可以像上面那样使用一个简单的 do while 循环。