我编写了一个使用内嵌Tomcat作为容器的Spring Boot Web服务。如果系统重新启动,我希望将一些信息备份到MySQL数据库中。
在我的Web服务中,我使用@Scheduled()和@PreDestroy来运行备份。当我使用^C停止服务器时,这个操作是成功的。
但是,当我使用sysV脚本(/etc/init.d)和kill命令杀死进程时,尽管守护程序依赖于MySQL,MySQL服务器在备份完成之前被关闭了(导致我的日志中出现SQL异常)。原因当然是kill只是发送了一个停止进程的信号。
从我的sysv脚本中,我怎样可以同步地停止正在运行的Spring Boot Tomcat服务器?
在我的Web服务中,我使用@Scheduled()和@PreDestroy来运行备份。当我使用^C停止服务器时,这个操作是成功的。
但是,当我使用sysV脚本(/etc/init.d)和kill命令杀死进程时,尽管守护程序依赖于MySQL,MySQL服务器在备份完成之前被关闭了(导致我的日志中出现SQL异常)。原因当然是kill只是发送了一个停止进程的信号。
从我的sysv脚本中,我怎样可以同步地停止正在运行的Spring Boot Tomcat服务器?