【发布时间】: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