是否可以订阅Hystrix中的CircuitBreaker开幕活动?

时间:2016-10-10 11:59:38

标签: java hystrix

对于单元测试,我希望能够订阅Hystrix事件,特别是当断路器打开或关闭时会发生事件。我环顾四周寻找示例,似乎可以利用指标流并监控断路器标记。

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

谢谢!

1 个答案:

答案 0 :(得分:6)

您需要编写自定义事件通知程序并在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());