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

    }

}
相关推荐
Java搬码工12 小时前
CompletableFuture 完整详解 + 全场景使用案例
java
许心月13 小时前
Java学习资料网站汇总
java
c2385613 小时前
第二篇:《测试指挥官:可视化单题自测框架(含 assert 实操)》
java·数据库·c++·算法·安全性测试
大阳光男孩13 小时前
Spring Boot 整合 Debezium 实现 MySQL 增量数据监听(嵌入式版)
spring boot·后端·mysql
皮皮林55113 小时前
ThreadLocal 不香了?ScopedValue才是王道?
后端
帅次13 小时前
Kotlin 与 Java 互操作:混合工程里的平台类型与 API 边界
java·开发语言·kotlin·suspend·nullable
X-⃢_⃢-X14 小时前
一、第一阶段:认识 Spring Boot
java·spring boot·后端
前端工作日常14 小时前
我学习到的Java程序的生命周期
java·后端
SunnyDays101114 小时前
Java 实现 PDF 页面删除、排序、旋转和裁剪
java·pdf
人工干智能14 小时前
科普:Pandas 索引器 loc 与 iloc 的编程思维
java·人工智能·pandas