【问题标题】:HyperSQL keeps files locked after stopHyperSQL 在停止后保持文件锁定
【发布时间】:2014-10-17 20:46:49
【问题描述】:

我在我的软件中使用 HyperSQL 数据库。当我启动 Hsqlserver 时,它运行良好。然而,在关闭它之后,它仍然保持 .lck 和 .log 文件锁定。当我杀死我的java进程时,文件被解锁。关于如何在不杀死我的 java 进程的情况下关闭 HSQLServer 的任何建议?

开始代码:

hsqlServer = new Server();
hsqlServer.setLogWriter(null);
hsqlServer.setSilent(true);
hsqlServer.setDaemon(true);

hsqlServer.setDatabaseName(0, "test");
hsqlServer.setDatabasePath(0, "file:" + path);

hsqlServer.start();

// Block till database is online
while (hsqlServer.getState() != 1) {
    try {
        Thread.sleep(100);
    } catch (InterruptedException e) {
            e.printStackTrace();
    }
}

停止代码:

hsqlServer.stop();

// Block till its stopped
try {
    hsqlServer.getServerThread().join();
} catch (InterruptedException e) {
    e.printStackTrace();
}

【问题讨论】:

  • 在停止服务器之前尝试执行 SHUTDOWN 语句
  • 谢谢...将其作为解决方案发布,我会接受。在调用 'stop()' 之前,您必须通过 'SHUTDOWN' 停止它,这仍然很奇怪。

标签: java hsqldb


【解决方案1】:

在停止服务器之前尝试执行 SHUTDOWN 语句

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 2014-06-17
    • 1970-01-01
    • 2011-04-24
    相关资源
    最近更新 更多