动态添加和删除Spring Boot运行状况检查

问题描述 投票:5回答:1

我正在开发一个基于Spring Boot的应用程序,通过API动态添加和删除特定于域的任务。由于这些工作可能单独失败,我想在每个工作正在运行时添加HealthIndicators,然后将其删除。 Spring Actuator的健康端点已经集成到多个监视器中,这只会将这些信息推向下游。

我当然可以将所有工作的健康检查汇总到一个HealthIndicator bean中,但我更愿意,如果以某种方式列出所有检查的健康状况。然而,HealthIndicator只允许返回单个Health实例。有没有办法返回这些对象的集合?

java spring spring-boot spring-boot-actuator health-monitoring
1个回答
8
投票

Spring Boot 2.1为此目的引入了HealthIndicatorRegistry。每当查询健康端点时,都要求注册表提供所有已注册健康指标的快照,然后调用每个指示符以确定应用程序的健康状况。

注册表以bean的形式提供,因此可以注入到管理特定于域的任务的类中。然后它可以调用register(String, HealthIndicator)unregister(String),因为这些任务被添加和删除。

© www.soinside.com 2019 - 2024. All rights reserved.