今天帮同事排查问题,启动错误日志很明显:就是Springboot启动时候,发现某个Bean没有注册成功,无法纳入Bean生命周期的管理。
上下文:
引入第三方jar包,使用对方提供的FeignClient
引入方法
1、pom.xml引入包路径
2、类中引入Bean,通过@Resource 注入
3、SpringBoot的启动类中,加入第三包的扫描路径
@EnableFeignClients(basePackages = { "com.xxx.yyy.zzz.facade.stub.api", "com.xxx.yyy.zzz.facade.stub.api"}
启动失败,真实奇怪啊。
因此
解决方案2:
1、pom.xml引入包路径
2、自定义interface,自定义feignClient(就是把原来的接口复制过来,重命名即可)
2、类中引入Bean,通过@Autowired 注入新的interface
4、SpringBoot的启动类中,加入新写的interface的扫描路径
启动成功,正常可以同个eureke发起http请求。
这就奇怪了,这是一样的套路啊,为啥方案1的引入方法就不行???
仔细比对,终于发现了问题之所在!!!!
原来是FeignClient 是不同的引入啊!
mark一记!!!!