我已经按照以下方式初始化了restTemplate:

HttpClient httpClient = HttpClientBuilder.create().build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
requestFactory.setConnectTimeout(1000);
requestFactory.setReadTimeout(1000);
restTemplate = new RestTemplate(requestFactory);

我这样称呼它:
restTemplate.getForEntity(someString, String.class, SomeHashmapWithURLParameters)

如何处理两个超时?我假设会抛出异常?如果是这样,我可以捕获哪个特定的异常,以便专门处理超时。我正在以其他方式处理其他异常。

最佳答案

如果是RestTemplate,当请求超时时,Spring将抛出ResourceAccessException。在这种情况下,底层异常将是带有消息“读取超时”的java.net.SocketTimeoutException

10-08 17:24