Spring Boot设置RestTemplate的超时时间

参考:http://stackoverflow.com/questions/13837012/spring-resttemplate-timeout

Java Config方式

@Configuration
public class RestTemplateConfig {

    @Bean
    //@LoadBalanced   //增加 load balance 特性
    public RestTemplate restTemplate() {
        ClientHttpRequestFactory factory = simpleClientHttpRequestFactory();
        return new RestTemplate(factory);
    }

    public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setReadTimeout(15000);  //单位为ms
        factory.setConnectTimeout(15000);  //单位为ms
        return factory;
    }

}

或者

@Configuration
public class RestTemplateConfig {
    @Bean
    public RestTemplate customRestTemplate() {
        HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
        httpRequestFactory.setConnectionRequestTimeout(5000);
        httpRequestFactory.setConnectTimeout(5000);
        httpRequestFactory.setReadTimeout(5000);

        return new RestTemplate(httpRequestFactory);
    }
}

配置文件指定

rest-template:
  connection:
    connection-request-timeout: 5000
    connect-timeout: 5000
    read-timeout: 5000
@Configuration
public class RestTemplateConfig {
    @Bean
    @ConfigurationProperties(prefix = "rest-template.connection")
    public HttpComponentsClientHttpRequestFactory customHttpRequestFactory() {
        return new HttpComponentsClientHttpRequestFactory();
    }

    @Bean
    public RestTemplate customRestTemplate(){
        return new RestTemplate(customHttpRequestFactory());
    }
}
上一篇 elastic-job-lite控制台使用
下一篇 Spring Boot RestTemplate 自定义返回码异常处理
目录
文章列表
1 Android NDK 开发平台及版本问题
Android NDK 开发平台及版本问题
2
Kuboard安装及配置
Kuboard安装及配置
3
开源电商系统推荐,避免重复造轮子
开源电商系统推荐,避免重复造轮子
4
Hutool,一个实用的Java工具类库
Hutool,一个实用的Java工具类库
5
Python模式匹配与正则表达式
Python模式匹配与正则表达式
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。