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

    }

}
相关推荐
池️鱼17 小时前
Lambda 表达式 —— Java 8 的函数式编程利器
java·开发语言
小碗羊肉17 小时前
【从零开始学Java | 第二十六篇】双列集合(Map)
java·开发语言
一叶飘零_sweeeet17 小时前
Java 服务升级 MCP 服务实战
java·mcp
_MyFavorite_17 小时前
JAVA重点基础、进阶知识及易错点总结(32)设计模式(建造者、原型)
java·python·设计模式
HAPPY酷17 小时前
3A游戏图形设置终极优化指南:从通用法则到实战应用
java·前端·游戏
达达爱吃肉17 小时前
openclaw 4.2 飞书出图的bug
java·前端·数据库
lifewange17 小时前
Ruby语言在测试领域的应用
开发语言·后端·ruby
披着羊皮不是狼17 小时前
从零搭建 Spring Boot 3 + 本地大模型 (Ollama) 的 AI 开发环境
人工智能·spring boot·后端
想不明白的过度思考者17 小时前
SpringAOP:Java 三大代理模式:从静态代理到 JDK & CGLIB 动态代理
java·开发语言·代理模式
yaoyouzhong17 小时前
MySQL中DROP、TRUNCATE和DELETE
java