当前位置: 首页 > 知识库问答 >
问题:

Springboot执行器DB健康检查

艾浩穰
2023-03-14

我需要改变频率来检查springboot执行器中的DB运行状况。默认DB运行状况检查查询每毫秒执行一次。我想让这个查询每1分钟后执行一次,而不是毫秒。有什么方法可以自定义它吗?

共有1个答案

上官羽
2023-03-14

实际上,执行器仅在您使用api时执行。如果您想更新执行器,可以做两件事:第一件事是每分钟调用一次api,另一件事是创建自定义健康检查并启用调度。

@SpringBootApplication

@EnableScheduling

public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication .class, args);
    }
}
@Service
public class CustomService {

    @Scheduled(fixedDelay = 60000)
    public Object getResultFromQuery() {
        // call your query
    }

}
@Component
public class HealthCustomCheck implements HealthIndicator {

    private final CustomService customService;

    public HealthCustomCheck(CustomService customService) {
        this.customService = customService;
    }


    @Override
    public Health health() {
        return Health.up().withDetail("yourQuery", customService.getResultFromQuery().toString()).build();
    }
}
 类似资料:
  • 因此,我将Spring引导执行器添加到我的应用程序中,并在应用程序中指定。属性管理。endpoint。健康隐藏物生存时间=120秒,以缓存健康检查结果。因此,当我调用执行器/健康时,结果被缓存,效果很好。 当我调用执行器/健康/就绪或自定义创建的组时,问题开始出现。该请求结果不会被缓存。我查阅了Spring文档,只找到了主要健康终点的信息,没有找到特定人群的信息。 所以我的问题是:我错过了什么吗?

  • 对于我一直在开发的一个微服务,我创建了一个自定义健康检查类,扩展了AbstractHealthIndicator,并能够在中获得输出 但当我向领事注册服务时,健康检查状态为失败。 尝试将执行器url配置为领事健康检查为spring。云领事发现健康检查url=http://localhost:8080/actuator/health。但它仍然失败,出现错误http://localhost:8566/

  • 我有一个基于SpringBoot的web应用程序,它公开了一个Consult health indicator bean。 该bean由SpringBoot的autoconfiguration正确创建和初始化,但是,尽管关联的配置属性“Management.health.consul.Enabled”设置为true,但指示器并未显示在执行器健康endpoint中: 经过进一步检查,我发现了负责获取

  • 在设置ELB健康检查的对话框中,它会声明: 如果实例未通过健康检查,它将自动从负载均衡器中删除。自定义健康检查以满足您的特定需要。 当健康检查失败时,将从ELB后面删除实例。我的问题是围绕“健康门槛”设置。当你悬停在帮助上时,它会说: 在声明EC2实例健康之前连续运行状况检查成功的次数。 如果实例声明为健康的,它是否被拉回负载平衡组?

  • 我用MySQL数据库设计了一个演示Spring Boot应用程序的CRUD操作。我的application.properties文件如下所示。 当我尝试点击url“http://localhost:8080/health”时,得到的响应是{“status”:“up”}。我想用Spring Boot执行器监视我的数据库(MySQL)。我想看看我的数据库状态。 谁能帮忙吗?

  • 我们的情况是,我们有大量的Spring Boot应用程序运行在容器(在OpenShift上)中,这些容器访问集中的基础设施(在pod外部),如数据库、队列等。 如果一个中央基础设施坏了,健康检查会返回“不健康”(这是正确的)。问题是,活跃度检查看到了这一点,并重新启动了pod(就绪检查然后看到它也下降了,所以不会启动应用程序)。当只有几个应用程序可用时,这是很好的,但如果许多(可能有数百个)应用程