Feign是自带断路器,需要在配置文件中开启断路器
改造消费者项目(FeignDemo)
1、在application.yml配置文件中开启断路器
eureka:client:service-url:defaultZone: http://127.0.0.1:9000/eureka/
server:port: 9004
spring:application:name: cppdy-feign
feign:hystrix:enabled: true
2、创建HelloServiceImpl实现类
package com.cppdy.service.impl;import org.springframework.stereotype.Component;import com.cppdy.service.HelloService;@Component public class HelloServiceImpl implements HelloService {@Overridepublic String hello(String name) {return "Sorry,Server Error:" + name;}}
3、在HelloService接口中设置断路器回调实现类
package com.cppdy.service;import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam;import com.cppdy.service.impl.HelloServiceImpl;@FeignClient(value = "cppdy-hello", fallback = HelloServiceImpl.class) public interface HelloService {@RequestMapping("hello")String hello(@RequestParam("name") String name); }
4、先启动EurekaDemo(注册中心项目),再启动FeignDemo(消费者项目)端口号设置为9004,访问http://localhost:9004/hello,会调用断路器设置的回调实现类中的方法