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

    }

}
相关推荐
Maynor99610 分钟前
Clawdbot安装教程:从零开始到接入飞书
java·数据库·飞书
小北方城市网12 分钟前
Spring Boot 多数据源与事务管理实战:主从分离、动态切换与事务一致性
java·开发语言·jvm·数据库·mysql·oracle·mybatis
Loo国昌19 分钟前
【垂类模型数据工程】第四阶段:高性能 Embedding 实战:从双编码器架构到 InfoNCE 损失函数详解
人工智能·后端·深度学习·自然语言处理·架构·transformer·embedding
roman_日积跬步-终至千里32 分钟前
【Java 并发-面试】从线程基础到企业级开发的知识点概况
java·开发语言
m0_7482331736 分钟前
C与C++:底层编程的六大核心共性
java·开发语言
小马爱打代码40 分钟前
Spring Boot :使用 Spring Cache 注解方式集成 Redis
spring boot·redis·spring
坊钰41 分钟前
【Rabbit MQ】Rabbit MQ 介绍
java·rabbitmq
雀啼春1 小时前
Java中的数据类型
java
80530单词突击赢1 小时前
C++关联容器深度解析:set/map全攻略
java·数据结构·算法