在项目实际开发过程中,遇到一个调用第三方接口,出现慢查询的问题。通过阿里云日志分析,大多数是在可接受时间里返回,但少部分长时间返回的,影响到了下单流程和监控数据,
翻看该第三方sdk,发现其sdk支持设置连接超时和服务器返回超时时间,这让我突然想到restTemplate应该也是可以设置超时时间。
设置方法如下
@Bean
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(600000);
factory.setReadTimeout(20000);
return new RestTemplate(factory);
}