springboot如何优雅关闭,使得运行关闭命令后,进程先执行完所有当前运行的用户线程后再结束?

springboot如何优雅关闭,使得运行关闭命令后,进程先执行完所有当前运行的用户线程后再结束?

这里说的用户线程指的是http请求线程以及这些线程开启的新线程,定时调度@sched开启的线程

另外我看不少用的是 kill -15 [pid],这个命令下springboot进程的反应是怎样的?

阅读 12.7k
2 个回答

两种方法:

  1. 使用http的endpoint,需要集成actuator
  2. 设置为linux服务,使用service xxx stop

具体介绍:

https://www.jianshu.com/p/44e...

EDIT

补充:已经验证第一种方式是会先清空注册的正在执行的线程之后,再结束主程序。第二种注册为服务的方式没有实际验证,但是根据文档描述也是会先清空正在执行的用户线程,然后结束。

https://docs.spring.io/spring...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题