Hystrix熔断初体验
<dependency> <groupId>org.springframework.cloudgroupId> <artifactId>spring-cloud-starter-netflix-hystrixartifactId> <version>${hystrix.version}version> dependency>
导入依赖,版本可以自己选择。
@EnableHystrix //开启熔断服务
启动类注解
@HystrixCommand(fallbackMethod = "hystrixGet") public Dept get(@PathVariable("id") Long id) { Dept dept = deptService.query(id); if (dept == null) { throw new RuntimeException("id => " + id + ",不存在该用户,或者信息无法找到"); } return dept; } //备选 public Dept hystrixGet(@PathVariable("id") Long id) { return new Dept() .setDNo(id) .setDName("id => " + id + "没有对应信息,null--@Hystrix") .setDb_source("no this database"); }
正常方法和熔断备选方法
数据库中有数据的情况
数据库没有数据的情形