【问题标题】:HSQLDB caching too aggressively?HSQLDB 缓存过于激进?
【发布时间】:2013-05-23 16:27:03
【问题描述】:

在我的应用程序中,我需要能够关闭所有 HSQL 连接、删除数据库文件,然后打开创建新数据库的新连接。我在磁盘上使用缓存表。

我发现 HSQL 正在记住旧数据库的内容——即使我已经从磁盘中删除了这些文件并建立了新的连接!我已经在 org.hsqldb.jdbc.JDBCConnection 类的构造函数上放置了断点,以验证我正在获取新的 Connection 对象(我是)。

如果我停止并启动该进程,则 HSQL 会正确“忘记”旧数据库并重新启动,但这是一个服务器端进程,我无法轻松停止和启动。

到目前为止,我发现的唯一解决方案是对 HSQL 数据文件的路径进行一些调整,这样它就不会尝试使用上次连接中的缓存数据。我希望有一些方法可以在 HSQL 中调用来清除缓存,这样新的连接就会开始时不会从旧数据中记住任何数据。

【问题讨论】:

    标签: java caching connection hsqldb


    【解决方案1】:

    您应该关闭数据库。这会关闭所有打开的连接并清除缓存。

    使用了 SQL 语句,SHUTDOWN。

    您可以在关机后删除文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      • 1970-01-01
      • 2015-04-26
      • 2011-11-15
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多