对于单元测试,我希望能够订阅Hystrix事件,特别是当断路器打开或关闭时会发生事件。我环顾四周寻找示例,似乎可以利用指标流并监控断路器标记。
由于Hystrix是基于RxJava构建的,我认为应该有某个事件的订阅接口。有没有一种简单的方法可以在Hystrix中订阅这些类型的事件?
谢谢!
答案 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());