关于springcloud配置断路器报异常。
首先我在基于feign配置了负载均衡,接口中类上配置了.
@FeignClient(value = "USER-PROVIDER",fallbackFactory = UserClientHystrixFactory.class)
然后通过UserClientHystrixFactory实现了FallbackFactory.配置完后在客户端的启动类配置了EnableFeignClients扫描本地的feign接口
@EnableFeignClients(basePackages = "cn.kai.feign.consumer.client")
解决方案:
配置完后启动却报No fallbackFactory instance,通过跟踪源码发现,当引入的fegin接口时,并且接口有回调函数,则需要让回调函数类和启动类平级或在其子包内。
原因:
因为回调函数的类是一个Bean,而启动服务springbootApplication要扫描获取所有的Bean,如果回调函数的类和启动类不再同一目录下,启动类获取不到该bean,所以报错。所以造成无法创建FallbackFactory。
版权声明:本文为jwenk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。