Spring boot 如何在独立Tomcat(非嵌入式Tomcat)中优雅地关闭SpringBoot?

Spring boot 如何在独立Tomcat(非嵌入式Tomcat)中优雅地关闭SpringBoot?,spring-boot,tomcat,shutdown,Spring Boot,Tomcat,Shutdown,我的环境:CentOS 7.x、JDK 8、Tomcat 9.0.37、SpringBoot 2.3.3发行版 我的基本配置如下: management.endpoint.shutdown.enabled = true server.shutdown = graceful spring.lifecycle.timeout-per-shutdown-phase = 60m 和一个简单的控制器演示: @PostMapping("/addUser") public String

我的环境:CentOS 7.x、JDK 8、Tomcat 9.0.37、SpringBoot 2.3.3发行版

我的基本配置如下:

management.endpoint.shutdown.enabled = true
server.shutdown = graceful
spring.lifecycle.timeout-per-shutdown-phase = 60m
和一个简单的控制器演示:

@PostMapping("/addUser")
public String addUser() {
    // threadPool is a thread pool
    threadPool.execute(() -> {
        try {
            // simulation of a request process that takes a long time
            Thread.sleep(30000L);
            log.info("===== task completed!");
        } catch (InterruptedException e) {
            // ignore
        }
    });

    return "done";
}
如果我使用嵌入式Tomcat,正常关机是可以的。首先发送post请求:http://xxx/xxx/addUser,然后发送post请求:/acutrator/shutwdown(或CTRL+C)

但是如果我使用独立的Tomcat(将我的war放到Tomcat的webapps目录中),以下操作都不能正常关闭:

send request /acurator/shutwdown
or
kill -2 pid
or 
kill -15 pid
如何在独立的tomcat中优雅地关闭SpringBoot?非常感谢