我想在我的基于Spring的Web应用程序中使用HSQLdb,并且我希望数据具有持久性(因此内存已经用完)。根据{{3}},我可以在连接URL中使用变量 - 但文档没有说明如何设置这些变量。
我已阅读hsqldb documentation,并且有一些有趣的策略,例如在上下文加载时创建一个用于设置属性的侦听器。
this question解释了如何获得合适的位置,因此我将这两种方法结合起来。我已经尝试使用一个监听器设置一个新属性,其路径从javax.servlet.context.tempdir
抬起(它是File
),我尝试直接使用该属性。这两种方法都不奏效。
This question评论说,可以通过侦听器设置user.home
,然后在HSQLdb网址中使用~
。我没试过这个,但是即使它确实有效,它也让我感到有点沮丧,因为我重新定义了一些我可能不想要的东西。我正在寻找“正确”的方式。如何设置HSQLdb称为“Web应用程序属性”的? (或者有一个适合的吗?)
来自文档:
如果数据库URL包含
${propname}
形式的字符串 然后用系统属性替换字符序列 用给定的名字。例如,您可以在a的URL中使用它 在Web应用程序中使用的数据库并定义系统 属性,Web应用程序属性中的"propname"
。在示例中 在下面,字符串${mydbpath}
将替换为 property,mydbpath
答案 0 :(得分:0)
阅读源代码System.setProperty(key, value)
踢自己 - 我的问题首先是HSQLdb的古老版本然后它没有卸载 - 重新启动Tomcat,一切都开始工作了。