Springboot基于健康检查服务预热

文章目录

用于服务启动之后,健康检查完成才会给服务流量

java 复制代码
/**
 * http://localhost:8080/actuator/health
 * 服务启动后,服务健康状态为DOWN,等待执行完成warmup()之后变为UP
 *
 * @author batman
 */
@Component
public class MyHealthIndicator implements HealthIndicator {
    public static final AtomicBoolean preheat = new AtomicBoolean(false);

    public static final AtomicBoolean preheatEnd = new AtomicBoolean(false);

    public static final AtomicInteger count = new AtomicInteger(0);

    @Override
    public Health health() {
        if (preheat.compareAndSet(false, true)) {
            warmup();
            preheatEnd.compareAndSet(false, true);
        }

        if (!preheatEnd.get()) {
            return Health.down().build();
        }

        return Health.up().build();
    }

    private void warmup() {

        try {
            Thread.sleep(5000L
            );
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }

}
相关推荐
少年执笔6 分钟前
android新版TTS无法进行语音播报
android·java
superman超哥10 分钟前
Rust 日志级别与结构化日志:生产级可观测性实践
开发语言·后端·rust·可观测性·rust日志级别·rust结构化日志
每天早点睡10 分钟前
continue语句
后端
每天早点睡11 分钟前
while语句
后端
风象南12 分钟前
Spring Boot 配置 diff 实战
后端
咸鱼2.014 分钟前
【java入门到放弃】数据结构
java·开发语言·数据结构
啊西:14 分钟前
SuperMap iObjects Java地图生成栅格瓦片并保存到mongodb
java·开发语言·mongodb
教练、我想打篮球21 分钟前
125 如何运行时实时切换数据库(实时切换影子库)
java·spring·shadow·datasource
毕设源码-赖学姐22 分钟前
【开题答辩全过程】以 “实惠”药房管理系统为例,包含答辩的问题和答案
java
共享家952724 分钟前
测试常用函数(一)
java·前端·javascript