2013-10-19 71 views
0

我想为我的基于Spring的Web应用程序使用HSQLdb,并且希望数据持久化(因此内存不足)。根据hsqldb documentation,我可以在连接URL中使用变量 - 但文档没有说明如何设置这些变量。如何设置“web应用程序属性”以便HSQLDB可以使用它们?

我读过this question,并且有一些有趣的策略,比如创建一个监听器来在上下文加载时设置属性。

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

One punter已评论说可以通过侦听器设置user.home,然后在HSQLdb URL中使用~。我还没有尝试过,但即使它确实有效,但我重新定义了一些我可能不想要的东西,这让我觉得它有点麻烦。我正在寻找“正确”的方式。我如何设置HSQLdb所称的“Web应用程序属性”? (或者是有一个,这将是合适的?)

从文档:

如果数据库URL中包含的${propname} 则形式的字符串的字符序列替换为系统属性 与给定的名字。例如,您可以在网络应用程序中使用的 数据库的URL中使用该属性,并在Web应用程序属性中定义系统 属性"propname"。在下面的例子中 ,字符串${mydbpath}替换为 属性的值,mydbpath

回答

0

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

踢我自己 - 我的问题是第一HSQLDB的一个古老的版本,那么它不是卸载 - 重启Tomcat,并且一切都开始工作。

相关问题