在項目實際開發過程中,遇到一個調用第三方接口,出現慢查詢的問題。通過阿里雲日志分析,大多數是在可接受時間里返回,但少部分長時間返回的,影響到了下單流程和監控數據,
翻看該第三方sdk,發現其sdk支持設置連接超時和服務器返回超時時間,這讓我突然想到restTemplate應該也是可以設置超時時間。
設置方法如下
@Bean
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(600000);
factory.setReadTimeout(20000);
return new RestTemplate(factory);
}