2014-10-17 3 views
2

내 소프트웨어에서 HyperSQL 데이터베이스를 사용하고 있습니다. Hsqlserver isntance를 시작하면 완벽하게 작동합니다. 그러나 그것을 종료 한 후에도 .lck 및 .log 파일은 잠긴 상태로 유지됩니다. Java 프로세스를 종료하면 파일 잠금이 해제됩니다. 내 Java 프로세스를 죽이지 않고 HSQLServer를 종료하는 방법에 대한 의견이 있으십니까?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

봅니다 서버를 중지하기 전에 서버 –

+0

고마워요 ... 해결책으로 게시하고 받아 들일 것입니다. 여전히 '정지()'라고 부르기 전에 '셧다운'을 통해 중지해야한다는 이상한 점이 있습니다. – ferdyh

+0

동의 : 이상합니다. –

답변

1

시도를 당신이를 중지하기 전에 종료 문을 실행하는

관련 문제