İşlemi sonlandırdığınızda çalıştırılan bir kapanma işlemi var. Ancak, programın h2 veritabanına yaptığı değişiklikler kalıcı değildir. Sadece kapatma iş parçacığının işlemden sonra bir süre beklemesine izin verirsem, DB'deki değişiklikleri tekrar toparlarken göreceğim.İş parçacığı, kapatma işleminde değişiklik yapmasını bekleyin
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");
}
}
sadece sleep
ile, ben DB bağlanmak değişiklikler sefere göreceksiniz.
Süreç sonlandırılmadan önce H2 veritabanının işlemi bitirmesini nasıl bekleyeceğini bilen var mı? Thread.sleep()
'dan rastgele bir zaman dilimi ile kaçınmak istiyorum ...
'a bakın. Teşekkürler, işe yarıyor! SHUTDOWN komutunu tamamen unuttum ... – morja