Java学习踩坑日记

新手持续学习java相关,记录踩坑美妙过程...说多了都是泪!

1.Spring Cloud 配置Hystrix熔断服务。

使用彻底解耦的方式配置在feign服务端,提供fallbackFacotory实现类重写回调方法,也在配置文件中配置了使用feign的熔断服务,喜剧的是客户端调用controller一直显示404错误,去掉熔断相关配置又可以。很明显是嗲用Controller没成功,难道是controller没有注入容器,也不应该啊,Spring boot只要主程序在最外面就会扫描一起的bean并且自动注入啊,况且也加了RestController注解。诡异····

经过多次实验加百度,终于成功了。

在主程序的各种注解有问题,由于Feign的服务抽出来封装到Maven子模块,虽然客户端消费调用时已经引入了包,但是由于是跨项目引用API,需要加包扫描,将实例注入进来。

好戏在这里:我引入了feign服务包和熔断需要的回调类,才造成上述问题,如果不要熔断配置,直接没问题

最后的解决办法竟然是在主程序注解声明上添加自己项目的包名!!

怀疑是添加了其他的包名,必须要添加自己的包名,才能扫描到自己的controller。

失败:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class},scanBasePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService"}) //扫描注入fallbackFacotory
@EnableEurekaClient //启用发现服务客户端
@EnableFeignClients(basePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService"})  //启用声明式服务调用客户端

成功:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class},scanBasePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService","com.lero.springCloud.shoppingProject.feignServiceConsumer"}) //还要加上自身包的扫描
@EnableEurekaClient //启用发现服务客户端
@EnableFeignClients(basePackages= {"com.lero.springCloud.shoppingProject.microServiceCommon.feignService","com.lero.springCloud.shoppingProject.feignServiceConsumer"})  //启用声明式服务调用客户端

完毕!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值