此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