当前位置: 代码迷 >> 综合 >> Feign+Hystix搭建服务降级注意事项@Component public class IDeptClientServiceFallbackFactory implements Fallback
  详细解决方案

Feign+Hystix搭建服务降级注意事项@Component public class IDeptClientServiceFallbackFactory implements Fallback

热度:32   发布时间:2023-12-17 21:03:01.0

此feign搭建在consumer客户端,,当服务端接口不可用时,进行服务降级处理。

1.编写服务降级处理程序和feign配置类

@Component
public class IDeptClientServiceFallbackFactory  implements FallbackFactory<IDeptClientService>{//编辑IDeptClientService接口调用失败处理程序
}----------@Configuration
public class FeignConfig {@Beanpublic BasicAuthRequestInterceptor  getBasicAuthRequestInterceptor(){System.out.println("***加载***");return new BasicAuthRequestInterceptor("ftest","ftest");}@Beanpublic Logger.Level getFeignLoggerLevel(){return Logger.Level.FULL;}}

2.Feign的接口中添加fallbackFactory

@FeignClient(value = "SPRING-PROJECT-PROVIDER",configuration = FeignConfig.class,fallbackFactory = IDeptClientServiceFallbackFactory.class)
public interface IDeptClientService {@RequestMapping(value = "/dept/get/{id}",method = RequestMethod.GET)public Object get(@PathVariable("id") long id);@RequestMapping(value = "/dept/list",method = RequestMethod.GET)public Object list();@RequestMapping(value = "/dept/add",method = RequestMethod.POST)public boolean add(Dept vo);
}

3.在consumer启动类中添加

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = {"cn.ftest.service"})
public class DeptConsumerFeignStartApplication {public static void main(String[] arg){SpringApplication.run(DeptConsumerFeignStartApplication.class,arg);}
}---------
application.yml文件添加开启hystrix开关
feign:hystrix:enabled: true

 

  相关解决方案