2014-10-17 62 views
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(); 
} 
+0

嘗試在停止之前執行SHUTDOWN語句服務器 – 2014-10-17 12:30:19

+0

謝謝...發佈它作爲解決方案,我會接受它。仍然覺得奇怪,你必須通過'SHUTDOWN'來阻止它,然後才能調用'stop()'。 – ferdyh 2014-10-17 12:41:36

+0

同意:這很奇怪 – 2014-10-17 12:47:15

回答

1

嘗試執行SHUTDOWN語句停止服務器之前

相關問題