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();
}
봅니다 서버를 중지하기 전에 서버 –
고마워요 ... 해결책으로 게시하고 받아 들일 것입니다. 여전히 '정지()'라고 부르기 전에 '셧다운'을 통해 중지해야한다는 이상한 점이 있습니다. – ferdyh
동의 : 이상합니다. –