샘플 코드 같은 약. 간결함을 위해 수입품이 삭제되었습니다.
간단하게이 코드는 스레드 세이프가 아닙니다. 이것은 단지 샘플 코드 일뿐입니다.
또한 메모리 DB는 첫 번째 jdbc 요청을 수신하면 자동으로 시작됩니다. 또한 jdbc를 통해 SQL 명령 SHUTDOWN을 실행하여 메모리 DB를 종료하십시오.
org.hsqldb.server.WebServer (즉, hsql db 서버는 http 포트 80을 사용함)를 사용하지만 대신 org.hsqldb.server.Server를 사용할 수 있습니다. 둘 중 하나에서 setPort를 호출하여 기본 포트를 대체 할 수 있습니다.
public class HsqlServer {
/**
* Start the hsql server locally, with an HTTP interface. Rightclick on this
* class in Eclipse, and run.
*
* @param args
*/
private static WebServer ws;
public static void main(String args[]) {
new HsqlServer().startDB();
}
public void stopDB() {
if (ws != null) {
try {
ws.checkRunning(true);
System.out.println("db is running. stopping now");
stopServer2();
}
catch(HsqlException hsqle) {
System.out.println("db is already stopped");
}
}
else {
System.out.println("DB not started. it is null");
}
}
private void stopServer2() {
ws.shutdownWithCatalogs(Database.CLOSEMODE_NORMAL);
}
public void startDB() {
// String[] argsToServer = { "--database.0",
// "file:" + HsqlServerConst.dbFileName, "-dbname.0",
// HsqlServerConst.dbName };
// WebServer.main(argsToServer);
if (ws != null) {
try {
ws.checkRunning(false);
System.out.println("check running is false");
startServer2();
} catch (HsqlException hsqle) {
// already running.
System.out.println("Server is already running.");
return;
}
} else {
// start the server, it is null
System.out.println("server is null, starting now");
startServer2();
}
}
private WebServer startServer2() {
ws = new WebServer();
ws.setDatabasePath(0, "file:" + HsqlServerConst.dbFileName);
ws.setDatabaseName(0, HsqlServerConst.dbName);
ws.start();
return ws;
}
}
링크가 작동하지 않습니다 .. –
링크가 고정되어 있거나 더 나은 답변이 게시되어 있어야합니다. – skrii
동일한 내용의 다른 기사와의 연결을 수정했습니다. –