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

    }

}
相关推荐
代码or搬砖几秒前
JVM垃圾回收器
java·jvm·算法
客卿1233 分钟前
C语言刷题--合并有序数组
java·c语言·算法
Overt0p4 分钟前
抽奖系统(6)
java·spring boot·redis·设计模式·rabbitmq·状态模式
独断万古他化5 分钟前
【SpringBoot 日志】日志级别与配置:分类、使用及持久化全攻略
java·spring boot·后端·java-ee
SimonKing7 分钟前
基于Netty的TCP协议的Socket服务端
java·后端·程序员
予枫的编程笔记7 分钟前
Elasticsearch深度搜索与查询DSL实战:精准定位数据的核心技法
java·大数据·人工智能·elasticsearch·搜索引擎·全文检索
while(1){yan}10 分钟前
拦截器(详解)
数据库·spring boot·spring·java-ee·拦截器
荒诞硬汉10 分钟前
面向对象(三)
java·开发语言
柒.梧.13 分钟前
Spring Boot集成JWT Token实现认证授权完整实践
java·spring boot·后端