分享一下启动微服务报错feign熔断callback实例报错找不到的解决方法

Blade 已结 1 1080

我来解释一下为什么作者大大说的添加@Component都无效。

image.png


其实不是无效,而是框架理想化的情况下包目录都是org.springblade,如果我们自定义了自己的业务模块,命名不叫这个,那么配了@Component注解的fallback实例也是扫描不到的。因为SpringBoot默认扫描Application同级目录下的所有包。但是业务模块的包名不一致。

而且要注意的是:就算在@EnableBladeFeign里面加业务模块的包名,也还是报错:无法找到fallback实例。

那是因为这个仅仅是找包名下的feign接口,而callback实例是属于@Component,没有被@FeignClient修饰,所以依旧找不到。

@EnableBladeFeign(basePackages={"org.springblade","{业务模块包名}.api.feign"})



那么正确的解决方法就是:在启动类加上

@ComponentScan(basePackages = {"org.springblade","{业务模块包名}"})



1条回答
  •  admin
    admin (最佳回答者)
    2020-12-03 13:36

    是这样的,关于重命名包之后的其他需要注意的配置,可以看这个帖子:https://sns.bladex.cn/q-630.html

    1 讨论(1)
提交回复