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

    }

}
相关推荐
小道仙9717 小时前
jenkins对接、jenkins-rest
java·servlet·jenkins·jenkins-rest
怒放吧德德18 小时前
Java 网络编程核心:BIO、NIO、AIO IO 模型深度解析与实战
后端·netty
莫寒清18 小时前
MinIO
java
Java后端的Ai之路20 小时前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21
普通网友21 小时前
PHP语言的正则表达式
开发语言·后端·golang
黎雁·泠崖21 小时前
Java常用类核心详解(七):正则表达式 Regex 从入门到实战
java·开发语言·正则表达式
sheji34161 天前
【开题答辩全过程】以 婚纱影楼管理系统为例,包含答辩的问题和答案
java·eclipse
LuDvei1 天前
LINUX文件操作函数
java·linux·算法
葵续浅笑1 天前
从Spring拦截器到Filter过滤器:一次报文修改加解密的填坑经验
java·后端·spring