之前一直是写一个config文件对feign的相关功能进行配置,包括连接时间啊,线程数啊,重试次数,拦截器等。
后来发现,这些配置也都可以在yaml文件中配置,具体配置如下:
feign:
httpclient:
enabled: true
client:
config:
cnt-plat:
connectTimeout: 100
readTimeout: 100
loggerLevel: none
requestInterceptors: 拦截器全路径名
default:
connectTimeout: 2000
readTimeout: 2000
loggerLevel: none
其中配置中的cnt-plat对应的是@FeignClient
中的name属性后边的值,如果配置的name属性在yaml文件中找不到对应值,则会进入default配置。
另外,这个地方配置拦截器的话不需要在拦截器的class文件中加上@Component
注解,否则会加载两次,怀疑是yaml配置后就自动生成一个bean了,如果再加注解,就会生成两个?没仔细研究