Tengo un gancho de desconexión, que se ejecuta cuando finaliza el proceso. Sin embargo, los cambios que realiza el programa en la base de datos h2 no son persistentes. Solo si dejo que el hilo de apagado espere un tiempo después de la confirmación, veré los cambios en el DB cuando vuelva a intentarlo. SóloEsperar a que los hilos escriban cambios en el anzuelo
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");
}
}
con un sleep
, voy a ver los cambios la próxima vez que conecto a la base de datos.
¿Alguien sabe cómo esperar a que la base de datos H2 termine la operación antes de que finalice el proceso? Quiero evitar un Thread.sleep()
con un tiempo aleatorio ...
¡Gracias, eso está funcionando! Me olvidé por completo del comando SHUTDOWN ... – morja