当没有连接更多客户端时关闭Hsqldb服务器

时间:2012-04-24 17:50:52

标签: hsqldb shutdown

我像这样启动一个hsqldb 1.8服务器:

java -cp“%classpath%; .; Y:\ PlantOperations \ bldPlantOperations \ code \ lib \ jboss \ hsqldb-1.8.0-10.jar; C:\ Documents and Settings \ BThirup \ Application Data \ Rockwell Automation \ FactoryTalk ProductionCentre \ ProcessDesigner \ hsqldb-1.8.0-10.jar; C:\ Documents and Settings \ BThirup \ Application Data \ Rockwell Automation \ FactoryTalk ProductionCentre \ ShopOperation \ hsqldb-1.8.0-10.jar;“ org.hsqldb.Server -database.0文件:“C:\ Documents and Settings \ BThirup \ Application Data \ Rockwell Automation \ FactoryTalk ProductionCentre \ logs \ ApplicationLog \ mydb”-dbname.0 xdb

我有多个客户端使用jdbc连接(无特定顺序):hsqldb:hsql:// localhost / xdb; shutdown = true

我想在没有更多客户端连接时关闭Hsqldb服务器。

我在文档中读到添加shutdown = true,因为我在jdbc url中会导致hsqldb在没有连接更多客户端后关闭。但我没有看到这种情况发生。

我也试过

Properties info = new Properties();
            info.put("user", "SA");
            info.put("password", "");
            info.put("shutdown", "true");
conn = DriverManager.getConnection(dbString, info);

以上也不会导致hsqldb服务器在最后一个客户端断开连接后关闭。

对此有任何帮助表示赞赏

巴拉

1 个答案:

答案 0 :(得分:0)

shutdown=true属性与进程内连接一起使用,而不是通过服务器连接。

如果在服务器启动时将此属性添加到数据库URL,则可能会有效。这会导致数据库关闭,从而导致服务器关闭。

java -cp ... org.hsqldb.Server -database.0 file:“C:\ Documents and Settings \ BThirup \ Application Data \ Rockwell Automation \ FactoryTalk ProductionCentre \ logs \ ApplicationLog \ mydb; shutdown = true” - dbname.0 xdb

与此无关,您只需要在类路径中对hsqldb-1.8.0-10.jar进行一次引用。