50.9.3 Reactive Health Indicators
50.9.3 响应式的健康指示器
对于响应式应用程序,例如那些使用Spring WebFlux的应用程序,ReactiveHealthIndicator
提供了一个非阻塞契约来获得应用程序的健康状态。与传统的HealthIndicator
类似,健康信息收集自ApplicationContext
中定义的所有ReactiveHealthIndicator
bean。不检查响应式API的常规HealthIndicator
bean包含在弹性调度器中并在其上执行。
要从响应式API提供自定义健康信息,你可以注册实现ReactiveHealthIndicator
接口的Spring bean。下面的代码显示了一个示例ReactiveHealthIndicator
实现:
@Component
public class MyReactiveHealthIndicator implements ReactiveHealthIndicator {
@Override
public Mono<Health> health() {
return doHealthCheck() //perform some specific health check that returns a Mono<Health>
.onErrorResume(ex -> Mono.just(new Health.Builder().down(ex).build())));
}
}
注 要自动处理错误,可以考虑从AbstractReactiveHealthIndicator
扩展。