Iプロセスが終了したときに実行されるshutdownhookがあります。しかし、プログラムがh2データベースに対して行った変更は永続的ではありません。私はシャットダウンスレッドがコミット後いくつかの時間を待たせた場合にのみ、私は再び立ち上げ時にDBの変更を見るでしょう。スレッドがshutdownhookに変更を書き込むのを待ちます
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
// H2 db add row, commit and close
Thread.sleep(1000); // in try/catch
System.out.println("Shutdown complete");
}
}
のみsleep
で、私はDBへの接続の変更次回が表示されます。
プロセスが終了する前にH2データベースが操作を終了するのを誰かが知っていますか?私はランダムな時間のThread.sleep()
を避けたいです...
を参照してくださいありがとうございました!私は完全にシャットダウンコマンドを忘れていた... – morja