我需要更改频率以检查 springboot 执行器中的数据库健康状况。默认的数据库健康检查查询每毫秒执行一次。我想让这个查询每 1 分钟而不是毫秒执行一次。 有什么办法可以自定义吗?
答案 0 :(得分:1)
实际上执行器仅在您使用 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();
}
}