【笔记】SpringBoot 2.7.x Feign超时时间配置问题

news2024/11/30 15:22:19

【笔记】SpringBoot 2.7.x Feign超时时间配置问题

    • 前言
    • 使用的技术
    • Feign超时配置
    • 处理过程

前言

从 SpringBoot 2.3升级至SpringBoot 2.7.x后,Feign的配置也发生了变化。本文主要记录Feign调用超时时间配置问题。

在解决问题前,也查阅过相关资料,可能查询的姿势有问题。一直没有找到正确答案;最终通过查看源码,找到了可以生效的配置。

本文解决方案仅供参考;如果各位有更好的方案,欢迎留言交流🤝。

使用的技术

Spring Boot 2.7.13
Spring Cloud 2021.0.8

本人使用的是基于 https://start.spring.io/ 在线生成的代码。如果您使用的技术差异过大或没有使用Spring Boot 默认的Feign实现,本文对您解决问题可能没有太大帮助。

Feign超时配置

resilience4j:
  timelimiter:
    configs:
      default:
        timeoutDuration: 101s #示例101秒

处理过程

主要是找到对应的配置,然后针对配置进行修改

进入 org.springframework.cloud.openfeign.FeignCircuitBreakerInvocationHandler#invoke
可以看到默认的超时时间是 1 秒。
在这里插入图片描述
根据信息继续查看Resilience4JCircuitBreakerConfiguration,可以发现timeLimiterConfig属性配置。只需要改变这个配置即可。

根据这个信息,继续查看Resilience4JConfigBuilder类的build方法;
在这里插入图片描述
找到调用的方法:
在这里插入图片描述
可以看到TimeLimiterRegistry接口,TimeLimiterConfig配置就是通过这个接口获取的。

TimeLimiterRegistry是通过Spring注入,直接找到它的默认实例。
在这里插入图片描述从它的参数看,可以找到对应的属性配置
在这里插入图片描述
进入该配置,可以看到最终需要修改的属性:
在这里插入图片描述在这里插入图片描述

然后查看对应的yml配置:
在这里插入图片描述
最终的yml配置:

resilience4j:
  timelimiter:
    configs:
      default:
        timeoutDuration: 101s

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768577.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iOS APP外包开发的语言比较

iOS APP是Apple公司运行在iPhone手机上的APP,开发这样的APP有两种开发语言可以选择,都是由Apple公司提供的语言。其中Objective-C使用时间相对较长,有历史兼容考虑,而Swift是新的开发语言,更符合近些年开发语言的发展理…

怎么在Windows WSL上利用GPU运行tensorflow 2.12

背景 1. 在window上安装WSL 2. 再WSL上安装miniconda。 3. 创建conda环境 4. 设置GPU 5. 安装tensorflow 2.12 6. 在Pycharm里运行你的GPU Tensorflow 2.12代码 背景 从tensorflow 2.10开始,已经没有tensorflow-gpu相应的版本在Window GPU运行了&#xff0c…

LCD—STM32液晶显示(1.显示器简介及LCD显示原理)(6000字详细介绍)

目录 显示器简介 液晶显示器 液晶 像素 液晶屏缺点 LED显示器 OLED显示器 显示器的基本参数 STM32板载液晶控制原理(不带微控制器) 液晶控制原理 控制信号线(不带液晶控制器) 液晶数据传输时序 显存 总结 3.2寸液晶屏介绍(搭载…

在线乞讨系统 Docker一键部署

begger乞讨网 在线乞讨 全球要饭系统前端界面后端界面H2 数据库 console运行命令访问信息支付平台 在线乞讨 全球要饭系统 在线乞讨全球要饭项目,支持docker一键部署,支持企业微信通知,支持文案编辑 前端界面 后端界面 H2 数据库 console 运行命令 项…

【STM32】使用HAL库对ULN2003控制28BYJ-48步进电机

步进电机是将电脉冲信号转变为角位移或线位移,通过控制施加在电机线圈上的电脉冲顺序、频率和数量,可以控制步进电机的转向、速度和旋转角度。 配合以直线运动执行机构(螺纹丝杆)或齿轮箱装置,更可以实现更加复杂、精密的线性运动控制要求。…

(Linux)查看jar包内容

查看jar包内容cp /opt/services/找到jar路径cp project.jar project2.jar复制jar,防止操作失误unzip -xvf project2.jar查看内容unzip -xvf project2.jar | grep jackson搜索相应内容rm -rf project2.jar删除副本 压缩jar包参考jar -cvf project.jar a.class b.clas…

3.10 Bootstrap 标签

文章目录 Bootstrap 标签标签 Bootstrap 标签 下面将讲解 Bootstrap 标签。标签可用于计数、提示或页面上其他的标记显示。使用 class .label 来显示标签&#xff0c;如下面的实例所示&#xff1a; <span class"label label-default">Label</span></…

期刊佳文 | 长江流域水系统生态服务价值评价方法

原文信息 题目&#xff1a;长江流域水系统生态服务价值评价方法 作者&#xff1a;郑阳 于福亮 桑学锋 张思琦 李子恒 期刊&#xff1a;《中国水利水电科学研究院学报&#xff08;中英文&#xff09;》23年3期 摘要 为完善人类活动影响下的生态系统评价体系、实现对生态关键…

【深度学习】了解残差网 ResNet 和 ResNeXt 的架构

一、说明 了解和实现 ResNet 和 ResNeXt 的架构以实现最先进的图像分类&#xff1a;从Microsoft到 Facebook [第 1 部分]&#xff0c;在这篇由两部分组成的博客文章中&#xff0c;我们将探讨残差网络。更具体地说&#xff0c;我们将讨论Microsoft研究和Facebook AI研究发布的三…

Unity URP 2D光照导入与配置

上面随时间变化的火烧云和晚霞&#xff0c;篝火的呼吸光照&#xff0c;都是URP的功劳。 1.什么是URP&#xff1f; URP 全称为 Universal Render Pipeline(通用渲染管线)。 它的特点是在手游和端游均能在保持性能的同时有良好的效果 也就说在多数情况下&#xff0c;在下面的平台…

java swing jxpanel嵌入链接url

如何嵌入url 尝试了很多方式&#xff0c;有jdic&#xff0c;webBrowser都不太行&#xff0c;可能有的是因为开发环境欠缺一些条件&#xff0c;最后使用了JXPanel嵌入网页url的方式&#xff0c;成功了。 需要的条件 jar包 &#xff1a;jdk1.8或以上即可&#xff0c;不用额外的…

c语言修炼第三章--结构体

目录 前言 3.1结构体的含义以及语法 3.1.1结构体含义 3.1.2结构体语法形式 3.1.2结构体变量的创建和初始化 3.2结构体成员的类型 3.3结构体的成员访问 3.3.1.操作符 3.3.2->操作符 3.4结构体传参 前言 小伙伴们大家好&#xff01;欢迎继续和菜菜酱学习c语言呐&…

Python零基础入门(八)——字典与集合

系列文章目录 个人简介&#xff1a;机电专业在读研究生&#xff0c;CSDN内容合伙人&#xff0c;博主个人首页 Python入门专栏&#xff1a;《Python入门》欢迎阅读&#xff0c;一起进步&#xff01;&#x1f31f;&#x1f31f;&#x1f31f; 码字不易&#xff0c;如果觉得文章不…

zookeeper伪分布式安装

1、环境准备 需要有jdk1.8 2、安装 &#xff08;1&#xff09;将zookeeper的安装包上传到/opt/modules目录下 &#xff08;2&#xff09;解压 [rootdatacollection modules]# tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/installs/&#xff08;3&#xff09;更名…

nacos配置管理模型

nacos配置管理模型 Nacos&#xff08;全称为"Naming and Configuration Service"&#xff09;是阿里巴巴开源的一款用于实现服务发现、动态配置和服务管理的产品。它提供了面向微服务架构的注册中心、配置中心和命名服务&#xff0c;并以高可用性、可扩展性和容错性…

SQL Server 存储过程入门

SQL Server 存储过程入门 1.存储过程的定义&#xff1a;2.存储过程的作用与好处&#xff1a;3.存储过程的基本语法&#xff1a;&#xff08;1&#xff09;创建&#xff08;2&#xff09;使用 4.存储过程的3个示例&#xff1a;&#xff08;1&#xff09;创建一个Contact表的名为…

6.6Jmeter远程调度Linux机器Jmeter测试

1、配置Agent和启动 1.1、打开jmeter/bin目录下的jmeter.properties 1、server_port1099取消注释 2、remote_hosts127.0.0.1 改为remote_hosts127.0.0.1:1099 或者是remote_hostsAgent机的ip:1099 3、server.rmi.localport1099 4、server.rmi.ssl.disablefalse改为true&#x…

MySQL5.7升为8.0新指南

MySQL5.7升为8.0新指南 一、效果图 俗话说的好&#xff1a;有图有真相 升级前 升级后 二、核心思路 以官方教程为主&#xff0c;各种博文为辅&#xff0c;实践出真知 官方教程网址&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/windows-upgrading.html 重点内容重…

微信小程序——字符串截取

indexOf() &#xff1a; 判断一个字符是否在字符串 中 存在&#xff0c;如果存在返回该元素或字符第一次出现 的 位置 的 索引&#xff0c;不存在返回-1。 lastIndexOf() &#xff1a; 返回一个指定的字符串值最后出现的位置&#xff0c;在一个字符串中的指定位置从后向前搜索。…

Go语言之文件操作,读写文件,其他文件操作

编码 ASCII表 众所周知&#xff0c;计算机起源于美国&#xff0c;英文只有26个字符&#xff0c;算上其他所有特殊符号也不会超过128个。字节是计算机的基本储存单位&#xff0c;一个字节(bytes)包括八个比特位(bit),能够表示出256个二进制数字&#xff0c;所以美国人在这里只是…