微服务学习20——feign中使用hystrix

在pom文件中查看依赖间关联关系:

微服务学习20——feign中使用hystrix

找到feign-core,可以看到,feign组件实际上包含了hystrix:

微服务学习20——feign中使用hystrix

那么该如何在feign中使用hystrix?

通过@FeignClient(name = "product", fallback = ProductClient.ProductClientFallback.class)这样的注解指定服务不可用时使用的

 

@FeignClient(name = "product", fallback = ProductClient.ProductClientFallback.class)

public interface ProductClient {

@GetMapping("/msg")

String productMsg();

 

@PostMapping("/product/listForOrder")

List<ProductInfo> listForOrder(List<String> productIdList);

 

@PostMapping("/product/decreaseStock")

void decreaseStock(@RequestBody List<CartDTO> cartDTOList);

 

@Component

static class ProductClientFallback implements ProductClient {

 

@Override

public String productMsg() {

return null;

}

 

@Override

public List<ProductInfo> listForOrder(List<String> productIdList) {

return null;

}

 

@Override

public void decreaseStock(List<CartDTO> cartDTOList) {

 

}

}

}