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

    }

}
相关推荐
亓才孓15 分钟前
[SpringBoot]UnableToConnectException : Public Key Retrieval is not allowed
java·数据库·spring boot
嵌入式×边缘AI:打怪升级日志24 分钟前
编写Bootloader实现下载功能
java·前端·网络
wuqingshun31415926 分钟前
什么是浅拷贝,什么是深拷贝,如何实现深拷贝?
java·开发语言·jvm
Stringzhua29 分钟前
队列-优先队列【Queue3】
java·数据结构·队列
大黄评测1 小时前
Spring Boot 集成 Nacos 完全指南:从配置中心到服务发现一站式实战
后端
大鹏19881 小时前
Java Swing 界面美化与 JPanel 优化完全指南:从复古到现代的视觉革命
后端
大尚来也1 小时前
.NET 10 Minimal APIs 主要应用场景全景指南:从原型到企业级生产
后端
大黄评测1 小时前
.NET 10 & C# 14 新特性详解:扩展成员 (Extension Members) 全面指南
后端
ShiJiuD6668889991 小时前
Java stream流和方法引用
java·开发语言
专注前端30年2 小时前
【Java微服务架构】Spring Cloud Alibaba全家桶实战:Nacos+Sentinel+Seata+分布式事务
java·微服务·架构