Hystrix是否可以订阅CircuitBreaker开启事件?

Is it Possible to Subscribe to the CircuitBreaker Opening Event in Hystrix?

对于单元测试,我希望能够订阅 Hystrix 事件,尤其是当断路器打开或关闭时应该有一个事件。我四处寻找示例,似乎解决方法是利用指标流并监控断路器标志。

由于 Hystrix 是基于 RxJava 构建的,我认为应该有一个事件订阅接口。有没有一种简单的方法可以在 Hystrix 中订阅这些类型的事件?

谢谢!

您需要编写Custom event notifier并在HystrixPlugins中注册。看看下面的代码。

public class CircuitBreakerHystrixEventNotifier extends HystrixEventNotifier{

    public CircuitBreakerHystrixEventNotifier(){

    }

   public void markEvent(HystrixEventType eventType, HystrixCommandKey key) {
        //here write code based on eventTypes.
    }
}

您需要在 hystrix 中注册此 CircuitBreakerHystrixEventNotifier,见下文

HystrixPlugins.getInstance().registerEventNotifier(getCircuitBreakerHystrixEventNotifier());