使用Springboot的时候,涉及到服务的停止和启动,当我们停止服务的时候,很多时候都是kill -9 pid,直接把程序进程杀掉,这样程序不是优雅关闭而是存在一些没有执行完的程序就会直接退出。

很多时候是需要安全的将服务停止,也就是把没有处理完的工作继续处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统,保证系统的高可用是非常有必要的。

第一种,使用Springboot提供的actuator的功能,可以执行shutdown,health,info等,默认情况下,actuator的shutdown是disable的,我们需要打开它。第一步引入actuator依赖。