在学习服务降级中,发现了@EnableHystrix和@EnableCircuitBreaker的功能类似,研究后特此记录一下。
查看@EnableHystrix的源码可以发现,它引用了@EnableCircuitBreaker,并对它进行了在封装。
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@EnableCircuitBreaker
public @interface EnableHystrix {
}
这两个注解都是激活hystrix的功能,我们根据上面代码得出来结论,只需要在服务启动类加入@EnableHystrix注解即可,无须增加@EnableCircuitBreaker注解,本身@EnableHystrix注解已经涵盖了EnableCircuitBreaker的功能。