我正在使用HSQLDB 2.2.9版进行测试。 当我在内存数据库中创建命名时,调用shutdown函数后不会删除文件。在我的文件系统上,我有文件夹DBname.tmp和文件DBname.lck,DBname.log,DBname.properties和DBname.script。据我所知,文档(http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_connection_url)不应该发生。
为了测试,我使用以下代码:
import java.io.IOException;
import org.hsqldb.Server;
import org.hsqldb.persist.HsqlProperties;
import org.hsqldb.server.ServerAcl.AclFormatException;
import org.junit.Test;
public class HSQLDBInMemTest {
@Test
public void test() throws IOException, AclFormatException {
HsqlProperties props = new HsqlProperties();
props.setProperty("server.database.0", "test1");
props.setProperty("server.dbname.0", "test1");
props.setProperty("server.database.1", "test2");
props.setProperty("server.dbname.1", "test2");
Server hsqlServer = new Server();
hsqlServer.setRestartOnShutdown(false);
hsqlServer.setNoSystemExit(true);
hsqlServer.setProperties(props);
hsqlServer.start();
hsqlServer.shutdown();
}
}
答案 0 :(得分:0)
在http://sourceforge.net/mailarchive/message.php?msg_id=30881908
回答:fredt代码应如下所示:
import java.io.IOException;
import org.hsqldb.Server;
import org.hsqldb.persist.HsqlProperties;
import org.hsqldb.server.ServerAcl.AclFormatException;
import org.junit.Test;
public class HSQLDBInMemTest {
@Test
public void test() throws IOException, AclFormatException {
HsqlProperties props = new HsqlProperties();
props.setProperty("server.database.0", "mem:test1");
props.setProperty("server.database.1", "mem:test2");
Server hsqlServer = new Server();
hsqlServer.setRestartOnShutdown(false);
hsqlServer.setNoSystemExit(true);
hsqlServer.setProperties(props);
hsqlServer.start();
hsqlServer.shutdown();
}
}
内存数据库的路径类似于props.setProperty("server.database.0", "mem:test1");