@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

 
  1. spring:

  2. main:

  3. allow-bean-definition-overriding: true

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

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

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

  2.  
  3. public interface saleClient{

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

  6.  
  7.     String add(@RequestParam("saleNum") String queryStr);

  8.  
  9. }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值