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();
        }

    }

}
相关推荐
程序员爱钓鱼16 分钟前
Go生成唯一ID的标准方案:github.com/google/uuid使用详解
后端·google·go
Moment17 分钟前
MinIO已死,MinIO万岁
前端·后端·github
无双_Joney21 分钟前
心路散文 - 转职遇到AI浪潮,AIGC时刻人的价值是什么?
前端·后端·架构
孔明click3325 分钟前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配
java·sa-token·开源·springboot·登录·权限认证
树獭叔叔37 分钟前
OpenClaw Tools 与 Skills 系统深度解析
后端·aigc·openai
树獭叔叔1 小时前
OpenClaw Memory 系统深度解析:从文件到向量的完整实现
后端·aigc·openai
程序猿阿越1 小时前
Kafka4源码(二)创建Topic
java·后端·源码阅读
悟空码字1 小时前
Spring Boot 整合 MongoDB 最佳实践:CRUD、分页、事务、索引全覆盖
java·spring boot·后端
开心就好20251 小时前
iOS App 安全加固流程记录,代码、资源与安装包保护
后端·ios
省长1 小时前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配
java·后端·开源