我已经按如下方式初始化了我的 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
,消息为“读取超时”。
关于java - 使用带超时的 sping 的 restTemplate,如何检测超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35808577/