2
我在我的軟件中使用HyperSQL數據庫。當我啓動Hsqlserver isntance時,它工作正常。但是,關閉它之後,它仍然保持.lck和.log文件被鎖定。當我殺死我的java進程時,文件被解鎖。有關如何關閉HSQLServer而不殺死我的java進程的任何幫助?HyperSQL讓文件在停止後保持鎖定狀態
代碼開始:
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語句服務器 – 2014-10-17 12:30:19
謝謝...發佈它作爲解決方案,我會接受它。仍然覺得奇怪,你必須通過'SHUTDOWN'來阻止它,然後才能調用'stop()'。 – ferdyh 2014-10-17 12:41:36
同意:這很奇怪 – 2014-10-17 12:47:15