栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

A bean with that name has already been defined and overriding is disabled

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

A bean with that name has already been defined and overriding is disabled

启动报错:

Description:

The bean 'xxx' could not be registered. A bean with that name has already been defined and overriding is disabled.

Action:

Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

这个报错是因为默认情况下feign不允许一个服务定义多个接口类,如果出现多个接口类会报Bean冲突;

例如:

@Component
@FeignClient(name = "user-service",path = "/user")
public interface UserFeignService1 {
	
    @RequestMapping("/register")
    public ResultModel register(@RequestBody xxxDto dto);

}

@Component
@FeignClient(name = "user-service",path = "/user")
public interface UserFeignService2 {
    
    @RequestMapping("/login")
    public ResultModel register(@RequestBody xxxDto dto);

}

解决方案:报错信息提示我们加spring.main.allow-bean-definition-overriding=true配置(有时候不起作用),也可以通过加在@FeignClient注解加contextId属性;

例如:

@Component
@FeignClient(name = "user-service",path = "/user",contextId = "user1")
public interface UserFeignService1 {
	
    @RequestMapping("/register")
    public ResultModel register(@RequestBody xxxDto dto);

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号