该文档说,虚拟机正常退出时,H2
db连接已关闭。这就是它的作用。默认情况下,关闭钩子已经存在,您无需执行任何操作。关闭钩子是关闭资源的一种完全有效的方法,该资源仅在退出时需要关闭。
如果
.lock.db关闭后仍有文件剩余,则虚拟机无法正常退出。您写道 该过程不会停止 。您必须找出原因,因为这可能也阻止了H2关闭挂钩的执行。
对于大型数据库,关闭可能需要一些时间。查看调试器(例如VisualVM)在调用(Tomcat)关闭后哪些线程保持活动状态。
还有更多的可能性:设置文件许可权,以便H2可以 创建 锁定文件,但不能 删除 它们。如果操作系统阻止H2删除其锁定文件,则H2对此无能为力。



