У меня есть shutdownhook, который выполняется, когда процесс завершается. Однако изменения, внесенные программой в базу данных h2, не являются постоянными. Только если я позволю потоку выключения ждать некоторое время после фиксации, я увижу изменения в БД, когда я снова улажусь.Подождите, пока потоки будут записывать изменения в 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
, я буду видеть изменения в следующий раз, когда я подключиться к БД.
Кто-нибудь знает, как дождаться, когда база данных H2 завершит операцию до завершения процесса? Я хочу избежать Thread.sleep()
со случайным временем ...
спасибо, thats working! Я полностью забыл о команде SHUTDOWN ... – morja