I Имейте выключатель, который выполняется, когда процесс завершается. Однако изменения, которые программа вносит в базу данных h2, не являются постоянными. Только если я позволю потоку выключения подождать некоторое время после фиксации, я увижу изменения в БД.
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");
}
}
Только после сна
я увижу изменения в следующий раз, когда подключусь к БД.
Кто-нибудь знает, как ждать это для базы данных H2, чтобы завершить операцию до завершения процесса? Я хочу избежать Thread.sleep ()
со случайным временем ...