feign:
#hystrix:
#enabled: true过时了 springcloud2020.0.1改为以下了
circuitbreaker:
enabled: true #feign作为客户端使用hystrix必须开启,服务端没有feign所以没有这个.
已经没有前者注解了。现在改为circuitbreaker了
修改之后接口实现类就可以被成功调用,完美。
//报错了以后执行实现类中的方法,等于时把一个接口的fallback提取了,不用再controller一个个写了
@Component
@FeignClient(value = "CLOUD-PROVIDER-HYSTRIX-PAYMENT", fallback = OrderServiceImpl.class)
public interface OrderService {
@GetMapping("/payment/hystrix/ok/{id}")
String paymentInfoOK(@PathVariable("id") Integer id);
@GetMapping("/payment/hystrix/timeout/{id}")
String paymentInfoTimeOut(@PathVariable("id") Integer id);
}
实现类:
@Component //某个接口内的所有方法重写,当报错时执行
public class OrderServiceImpl implements OrderService {
@Override
public String paymentInfoOK(Integer id) {
return "paymentInfoOK fallback.";
}
@Override
public String paymentInfoTimeOut(Integer id) {
return "paymentInfoTimeOut fallback";
}
}