2013-10-19 114 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,並且一切都開始工作。

相關問題