Spring Cloud 报 java.lang.IllegalStateException: No fallbackFactory instance of type class

  • Post author:
  • Post category:java




关于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 版权协议,转载请附上原文出处链接和本声明。