设置断点出现超时如何处理,运行过程中怎么设置断点

首页 > 车主 > 作者:YD1662023-10-25 17:19:07

所以,如果你单独使用Feign的时候,你就可以通过如上的两种方式来设置超时时间。

SpringCloud下Feign单独使用超时时间设置

在SpringCloud环境下,只是对Feign进行了一层包装,所以即使没有Ribbon和注册中心,Feign也是可以单独使用的,但是用法有点变化

不过,默认情况下Feign还是需要结合Ribbon来使用的

如果你只想单独使用Feign,那么就设置一下@FeignClient注解的url属性,指定请求的地址和端口就可以了

设置断点出现超时如何处理,运行过程中怎么设置断点(13)

所以,既然只是包装,前面提到的两种方式设置超时时间当然可以继续使用:

方法参数设置形式跟前面提到的一模一样,但是通过Feign.Builder来设置却不太一样

由于SpringCloud会自己创建Feign.Builder,不需要我们创建,所以在设置Options时,Spring提供了两种快捷方式来设置

不过最终还是设置到Feign.Builder中

1、声明一个Options Bean

Spring在构建Feign.Builder的时,会从容器中查找Options这个Bean,然后设置到Feign.Builder中

@Configuration public class Feignconfiguration { @Bean public Request.Options options() { return new Request.Options(8, TimeUnit.SECONDS, 8, TimeUnit.SECONDS, true); } }

此时debug就可以看到设置到Feign.Builder的代码

设置断点出现超时如何处理,运行过程中怎么设置断点(14)

这段代码在FeignClientFactoryBean中的configureUsingConfiguration方法中

2、配置文件中设置

除了声明Bean之外,Spring还提供了通过配置文件的方式配置,如下:

feign: client: config: default: connectTimeout: 10000 readTimeout: 10000

同样地,debug就可以看见

设置断点出现超时如何处理,运行过程中怎么设置断点(15)

这段代码在FeignClientFactoryBean中的configureUsingConfiguration方法中

声明Bean和配置文件都可以设置,那么同时设置哪种优先级高呢?

无特殊配置,遵守SpringBoot本身的配置规定

约定 > 配置 > 编码

所以基于这个规定,配置文件的配置优先级大于手动声明Bean的优先级。

到这,我们又学到了两种Spring为了方便我们设置Feign.Builder提供的配置方式:

把他们俩加到前面画的图中

设置断点出现超时如何处理,运行过程中怎么设置断点(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.