如何解决如何在独立的Tomcat非嵌入式Tomcat中正常关闭SpringBoot?
我的环境: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,则可以正常关闭。首先发送帖子请求:http:// xxx / xxx / addUser,然后发送帖子请求:/ acurator / shutwdown(或CTRL + C)
但是,如果我使用独立的Tomcat(将战争发送到Tomcat的webapps目录),则以下任何操作都不能正常关闭:
send request /acurator/shutwdown
or
kill -2 pid
or
kill -15 pid
如何在独立的tomcat中正常关闭SpringBoot?非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。