springcloud-feign的hystrix支持

关于hystrix的介绍,可以看我的上篇博客:springcloud-断路器hystrixs

本文主要介绍在feign中,如何使用hystrix

 

1、pom依赖

      <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-feign</artifactId>
        </dependency>
        <dependency>
            <!-- hystrix 断路器 -->
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>com.xwj</groupId>
            <artifactId>spring-cloud-core</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

 

2、入口开启feign和hystrix

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients // 开启feign
@EnableCircuitBreaker // 开启断路器
public class ConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }

}

 

3、在yml文件打开feign对hystrix的支持(关于hystrix的配置,本篇不做介绍)

feign:
  hystrix:
    enabled: true #打开feign对hystrix的支持

 

4、修改FeignClient,增加 fallback 参数,这是接口的降级回调类

@FeignClient(name = "service-provider", fallback = UserFallback.class)
public interface UserFeignClient {

    @GetMapping("/find/{id}")
    UserEntity findById(@PathVariable("id") Long id); // PathVariable必须得设置value

}

 

5、创建降级回调类UserFallback

/**
 * 错误回调类
 */
@Component
public class UserFallback implements UserFeignClient {

    @Override
    public UserEntity findById(Long id) {
        UserEntity user = new UserEntity();
        user.setId("1000");
        user.setAge(12);
        return user;
    }

}

 

转载于:https://www.cnblogs.com/xuwenjin/p/9349737.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值