如何设置“Web应用程序属性”以便HSQLDB可以使用它们?

时间:2013-10-19 07:20:19

标签: java spring servlets hsqldb

我想在我的基于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

1 个答案:

答案 0 :(得分:0)

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

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