我有一个基于 struts 的应用程序,我在其中调用我的 Restful Web 服务。我的实际服务调用如下所示:
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.exchange(testUrl, httpMethod, entity, String.class);
呼叫通过很好,但我想处理这种情况,如果我的服务出现故障,我想在 1 分钟内超时,而不是等待这么长时间。
你可以去春休模板,它提供了超时处理的方法:
对于连接超时:
RestTemplate restTemplate = new RestTemplate();
((SimpleClientHttpRequestFactory)restTemplate.getRequestFactory()).setConnectTimeout(2000);
对于读取超时:
((SimpleClientHttpRequestFactory)restTemplate.getRequestFactory()).setReadTimeout(2000);
有关更多信息,请访问文档页面:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/client/SimpleClientHttpRequestFactory.html