Springboot2.0设定restTemplate超时(最新的方法)

本文详细介绍了在Spring中如何为RestTemplate设置连接超时和读取超时,包括使用RestTemplateBuilder和SimpleClientHttpRequestFactory两种方法。并指出2.0版本后推荐使用SimpleClientHttpRequestFactory进行超时配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

  • setConnectTimeout 设定连接超时。从你发起建立连接请求到连接建立前的时间。
  • setReadTimeout 设定读取超时。连接建立后,发起request到收到response的时间。这个要慎重,如果你设置了超时,上游最后又把数据response给你了,可能出现你和上游的数据不一致。

restTemplateBuilder方式已经被废弃

restTemplateBuilder的方式被废弃,就推荐使用。

@Configuration
public class AppConfig
{
    @Bean
    public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) 
    {
        return restTemplateBuilder
           .setConnectTimeout(...)
           .setReadTimeout(...)
           .build();
    }
}

2.0之后的方法,可以通过SimpleClientHttpRequestFactory来设置超时。配置文件的方法多了个传参的过程。

@Configuration
public class AppConfig
{
    @Bean
    public RestTemplate restTemplate()
    {
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setConnectTimeout(5000);
        requestFactory.setReadTimeout(3000);
        RestTemplate restTemplate = new RestTemplate(requestFactory);
        return restTemplate;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值