<返回更多

三行代码实现SpringBoot优雅停机

2023-04-23    迷路的架构师
加入收藏

以前SpringBoot 项目实现优雅停机相对复杂,都是自定义实现,写了一堆的代码。今天发现了一个Spring Boot优雅停机的方案,只需要3行配置代码即可实现,真的非常优雅,亲测可用。

这个方案是基于Spring Boot Actuator实现的,因此首先引入 Actuator Jar包:

<dependency>
   <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

接下来就是核心的3行代码配置,Application.properties 增加如下内容:

management.endpoint.shutdown.enabled=true
management.endpoints.web.exposure.include=*
server.shutdown=graceful

编写测试代码,如下代码运行完成需要1分多钟:

@GetMapping(value = "/getData")
public void getData() {
    for (int i=0; i<10000000; i++) {
        System.out.println(i);
    }
}

调用此接口:

curl -X GET localhost:8080/getData

接着立刻调用优雅停机接口:

curl -X POST localhost:8080/actuator/shutdown

可以看到服务并没有立刻停止,而是等待 getData 方法运行完成后才停止。

 

特别说明:

此次测试Spring boot 版本为:2.7.11

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>