Springboot RestTemplate如何设置超时时间
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇"Springboot RestTemplate如何设置超时时间"除了程序员外大部分人都不太理解,今天小编为了让大家更加理解"Springboot RestTemplate如何设置超时时间",给大
千家信息网最后更新 2025年01月19日Springboot RestTemplate如何设置超时时间
这篇"Springboot RestTemplate如何设置超时时间"除了程序员外大部分人都不太理解,今天小编为了让大家更加理解"Springboot RestTemplate如何设置超时时间",给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
RestTemplate未设置超时时间,导致RabbitMQ队列大量堆积,消费者假死,不进行消费,类似线程堵塞。
排查:
从日志排查问题,在从进入消费者到结束期间,会调用业务服务,然而通过开始时间至结束时间,花费的时间竟然高达100多秒,查看业务服务未发现异常。出现这种问题的原因也有可能在消费期间网络波动导致HTTP连接出现问题,一直处于等待状态。由此判断可能是HTTP超时时间未设置导致的问题。
本文生产环境Springboot版本 2.1.5.RELEASE,采用的是Java config配置
Java Config配置
@Configurationpublic class RestTemplateConfig { @Bean public RestTemplate getRestTemplate() { //配置HTTP超时时间 HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory(); httpRequestFactory.setConnectionRequestTimeout(6000); httpRequestFactory.setConnectTimeout(6000); httpRequestFactory.setReadTimeout(6000); return new RestTemplate(httpRequestFactory); }}
配置文件指定
custom.rest.connection.connection-request-timeout=3000custom.rest.connection.connect-timeout=3000custom.rest.connection.read-timeout=3000
@Configurationpublic class AppConfig{ @Bean @ConfigurationProperties(prefix = "custom.rest.connection") public HttpComponentsClientHttpRequestFactory customHttpRequestFactory() { return new HttpComponentsClientHttpRequestFactory(); } @Bean public RestTemplate customRestTemplate(){ return new RestTemplate(customHttpRequestFactory()); }}
重新部署后消费者迅速开始消费,堆积的消息已经消费完。
RestTemplate 设置超时时间注意点
1、保证系统中只有一个RestTemplate的配置;不然可能与你的预期不一致。
2、永远不要太相信自己写的代码;多打印日志才能真正知道调用时间;
long s = System.currentTimeMillis(); try { responseEntity = restTemplate.exchange(); } catch (Exception e) { long costTime = System.currentTimeMillis()-s; log.error("调用**服务异常,花费时间:{},错误:{}",costTime, e.getMessage(), e); }
感谢您的阅读,希望您对"Springboot RestTemplate如何设置超时时间"这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注行业资讯频道!
时间
消费
问题
配置
内容
消费者
服务
业务
日志
妥当
一致
代码
价值
原因
只有
大部分
情况
文件
文章
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
三大运营商网络安全
自己家能不能装服务器
来思网络技术有限公司
海康存储磁盘阵列服务器客服电话
华夏恒生互联网科技业
互联网电影数据库技术
软件开发规范立项
国元证券软件开发岗位怎么样
mq服务器搭建
嵌入式软件开发公司 聚顶科技
南京海航软件开发系统
易淘无限网络技术有限公司
计算机网络技术能入户广州么
电脑组建服务器配置
联想服务器一级代理
onenet采用数据库技术
企业一般用什么软件开发c语言
江苏网络技术服务什么价格
删了公司数据库
中山大学数据库研究生
深圳网络安全工程师工资
画画的网络安全为人民
配置服务器步骤
网络存储服务器搭建
服务器全半角切换
四川ipfs云服务器云主机
服务器管理器重置角色
qq数据库 打开
数据库select计算年龄
中级软件开发工程师证多少钱