【问题标题】:Spring Boot Health Check for different Modules不同模块的 Spring Boot 健康检查
【发布时间】:2021-03-14 16:53:33
【问题描述】:

我创建了一个包含多个模块的程序,其中 4 个具有休息控制器。我想使用弹簧启动执行器创建健康检查,以便详细检查模块的所有依赖项,包括带有休息控制器的模块。目前,我可以轻松显示数据库,但是对于 4 个模块中的每一个,其他 3 个也是依赖项,所以我希望能够查看它们是否也运行良好。

如何创建自定义健康检查来检查其他 3 个模块的健康状态?我想在构建后使用jar文件并在运行jar文件后调用url但它似乎不起作用?

感谢您的帮助!

【问题讨论】:

  • 嗨,欢迎来到 StackOverflow。请尝试清楚地解释主要部分本身的问题。请将您的研究与脚本/代码/图像以及您面临的困难一起发布。要清楚地了解如何提出问题。请参阅:Ask questions, get answers, no distractions

标签: controller spring-boot-actuator health-check


【解决方案1】:

您似乎想要创建自定义HealthIndicator(s)

Spring boot 是一个运行时框架,因此您可以直接在模块内创建自定义健康指标的 bean,只要它们在您正在运行的 Spring Boot 应用程序工件 (war/jar) 中“打包”在一起即可

如果 bean 被正确扫描,spring boot 将识别所有它们,并将“插入”到执行器的健康端点中。

简而言之,Health Indicator 是一个钩子,下面是一个最简单的例子:

@Component
public class RandomHealthIndicator implements HealthIndicator {
    // note its a regular spring bean, so you can inject your components here
    @Override
    public Health health() {
       Health.Builder status = Health.up();
       return status.build();
    }
}

有关此主题的更全面的教程请参阅,例如,this tutorial,当然还有其他的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多