組み込みの tomcatをコンテナーとして使用するSpring Boot Web サービスを作成しました。
システムが再起動した場合に備えて、いくつかの情報を mysql データベースにバックアップしたいと考えています。
私のWebサービスでは、バックアップを実行するために@Scheduled()
とを使用しています。@PreDestroy
^C でサーバーを停止するとうまくいきます。
しかし、sysV スクリプト( /etc/init.d
) と kill コマンドを使用してプロセスを強制終了すると、デーモンが mysql に依存していても、バックアップが完了する前に mysql サーバーがシャットダウンされます (ログに SQL 例外が発生します)。
もちろん、その理由は、 kill はプロセスを停止するためのシグナルのみを送信するためです。
(sysv スクリプトから) 実行中の Spring Boot Tomcat サーバーを同期的に停止するにはどうすればよいですか?