0
点赞
收藏
分享

微信扫一扫

@FeignClient注解 中属性 contextId使用


如果我们使用Feign定义了两个接口,但是目标服务是同一个,那么在SpringBoot启动时就会遇到一个问题:

Description:
The bean ‘optimization-user.FeignClientSpecification’, defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.
Action:
Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

解决方案有两个:

1.修改yml配置:spring.main.allow-bean-definition-overriding=true

spring:
main:
allow-bean-definition-overriding: true

2.在每个Feign的接口中,在注解上加 contextId属性

contextId在Feign Client的作用是在注册Feign Client Configuration的时候需要一个名称,名称是通过getClientName方法获取的

@FeignClient(name = "sale-service",contextId= "saleservice1")

public interface saleClient{

@RequestMapping(value = "/sale/add", method = RequestMethod.GET)

String add(@RequestParam("saleNum") String queryStr);

}


举报

相关推荐

0 条评论