备注:在Spring Boot 2.3以上版本测试,不保证2.3之前的版本可以使用

还在使用kill -9 停止应用?666

一、使用/actuator/shutdown

  • 引入pom
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • 配置yaml
management:
  endpoints:
    web:
      exposure:
        include: "*"   # * 在yaml 文件属于关键字,所以需要加引号
  endpoint:
    shutdown: 
      enabled: true # shutdown需要开启此项
  • 使用方式

post请求:http://IP:PORT/actuator/shutdown

二、使用kill -2 PID

  • 配置yaml
server:
  port: 2056
  shutdown: GRACEFUL # IMMEDIATE:立即停机(默认),GRACEFUL:优雅停机
spring: 
  application:
    name: xm-demo-shutdown-safe
  lifecycle:
    timeout-per-shutdown-phase: 30s # N时间只有如果没有处理完 也直接关闭
  • 使用方式

    kill -2 PID