您可以在application.properties中禁用默认的数据库健康指示器。
management.health.db.enabled=false
并实现自定义 HealthIndicator,其行为与此处描述的相同:here。
在您的自定义 HealthIndicator 实现中,您可以使用不同的 JdbcTemplate,其超时值为 2 秒,类似于以下内容:
JdbcTemplate jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.setQueryTimeout(2);
jdbcTemplate.execute(...);
如果执行调用抛出异常,您的指标应该返回Health.down(),否则应该返回Health.up()。