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());
对于单元测试,我希望能够订阅 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());