RestTemplate调用超时问题解决

问题描述

工作中,在调用同事写的某个接口的时候,使用的调用方式是RestTemplate。最开始数据量小,调用正常,随着数据量增加,这个接口过分的慢,后台日志出现Read time out异常。

问题分析

  • 最开始我以为是网关设置的ribbon超时过短导致,调大后,还是不行。
  • 然后我配置了自定义的一个RestTemplate,由于集成了公司框架,里面有默认的restTemplate,所以为当前bean指定一个名字。如下
	@Configuration
	public class RestTemplateConfig{
		@Bean("PermissionRestTemplate")
		public RestTemplate getRestTemplate(){
			HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
			factory.setConnectionTimeout(5000);
			factory.setConnectionRequestTimeout(5000);
			factory.setReadTimeout(120*1000);
			return new RestTemplate(factory);
		}
	}

问题解决

  • 在使用的时候指定使用配置的restTemplate。调用就能够正常获取数据了。
	@Qualifier("permissionRestTemplate")
	@Autowired
	private RestTemplate restTemplate;
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值