欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot通过RestTemplate访问接口超时时间设置

程序员文章站 2022-06-26 12:02:26
...

问题:在通过restTemplate.exchange()方法调组件接口时,因为接口url有误或组件服务掉线,无法访问,并在30s后返回Timeout;由于超时时间默认是30s,导致功能调用一直阻塞。

解决:设置RestTemplate对象的Timeout时长,避免功能阻塞。

/设置超时时间
SimpleClientHttpRequestFactory clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
clientHttpRequestFactory.setConnectTimeout(1500);
clientHttpRequestFactory.setReadTimeout(500);
RestTemplate restTemplateDgDevice = new RestTemplate();

restTemplateDgDevice.setRequestFactory(clientHttpRequestFactory);
ResponseEntity<String> exchange = restTemplateDgDevice.exchange(url, HttpMethod.GET, null,new ParameterizedTypeReference<String>() {});