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被问:数据库连接池的工作原理
java·数据库·后端·oracle
Seven97几秒前
回溯算法总结
java
小鸡脚来咯几秒前
软链接的作用和用途
java·ide·eclipse
这周也會开心1 分钟前
双栈实现队列以及双队列实现栈
java·开发语言
思成Codes3 分钟前
Go语言的多返回值是如何实现的?
开发语言·后端·golang
风象南5 分钟前
除了 ELK、Loki,你还应该知道的日志收集方式:Syslog
后端
廋到被风吹走6 分钟前
【Spring】Spring Batch 详细介绍
java·spring·batch
北极糊的狐6 分钟前
MQTT报错:Exception in thread main java.lang.at io.github.pnoker.common.sdk.utils.ParseUtils.decodeHex
java·开发语言
IT_陈寒9 分钟前
Java 21新特性实战:5个必学的性能优化技巧让你的应用提速40%
前端·人工智能·后端
weixin1997010801611 分钟前
TikTokitem_search_video关键词视频列表接口对接全攻略:从入门到精通
java·服务器·音视频