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

Toa*_*ter 4 java hystrix

对于单元测试,我希望能够订阅Hystrix事件,特别是当断路器打开或关闭时会发生事件.我环顾四周寻找示例,看来解决方案是利用指标流并监控断路器标志.

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

谢谢!

小智 7

您需要编写自定义事件通知程序并在HystrixPlugins中注册它.看看下面的代码.

public class CircuitBreakerHystrixEventNotifier extends HystrixEventNotifier{

    public CircuitBreakerHystrixEventNotifier(){

    }

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

您需要在hystrix中注册此CircuitBreakerHystrixEventNotifier,请参阅下文

HystrixPlugins.getInstance().registerEventNotifier(getCircuitBreakerHystrixEventNotifier());
Run Code Online (Sandbox Code Playgroud)