Имам shutdownhook, който се изпълнява, когато процесът бъде прекратен. Въпреки това промените, които програмата прави в базата данни h2, не са постоянни. Само ако оставя нишката за изключване да изчака известно време след комита, ще видя промените в DB, когато започна отново.
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()
със случайно време...