【问题标题】:How to set "web application properties" so HSQLDB can use them?如何设置“Web 应用程序属性”以便 HSQLDB 可以使用它们?
【发布时间】:2013-10-28 02:46:25
【问题描述】:

我想将 HSQLdb 用于我的基于 Spring 的 Web 应用程序,并且我想让数据持久化(因此内存中的内容已用完)。根据hsqldb documentation,我可以在连接 URL 中使用变量 - 但文档没有说明如何设置这些。

我读过this question,其中有一些有趣的策略,例如创建一个侦听器以在上下文加载时设置属性。

This question 解释了如何获得合适的位置,所以我将这两种方法结合起来。我尝试使用侦听器设置一个新属性,路径从javax.servlet.context.tempdir 提升(它是File),我尝试直接使用该属性。这两种方法都不起作用。

One punter 评论说可以通过监听器设置user.home,然后在HSQLdb URL 中使用~。我没有尝试过,但即使它确实有效,我也觉得有点恶心,因为我重新定义了我可能不想做的事情。我正在寻找“正确”的方式。如何设置 HSQLdb 调用的“Web 应用程序属性”? (或者有合适的吗?)

来自文档:

如果数据库 URL 包含${propname} 形式的字符串 然后将字符序列替换为系统属性 使用给定的名称。例如,您可以在一个 URL 中使用它 在 Web 应用程序中使用并定义系统的数据库 属性,"propname" 在 Web 应用程序属性中。在示例中 下面,字符串${mydbpath} 被替换为 财产,mydbpath

【问题讨论】:

    标签: java spring servlets hsqldb


    【解决方案1】:

    从阅读源代码,System.setProperty(key, value)

    踢我自己 - 我的问题首先是 HSQLdb 的旧版本,然后它没有卸载 - 重新启动 Tomcat,一切都开始工作了。

    【讨论】:

      猜你喜欢
      • 2016-08-22
      • 2015-12-09
      • 2016-04-26
      • 2011-10-16
      • 2016-11-12
      • 2020-08-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-04
      相关资源
      最近更新 更多