Changes for page HSQLDB Installation

Last modified by slauriere on 2022/09/01

<
From version < 9.4 >
edited by Manuel Smeria
on 2012/12/10
To version < 10.1 >
edited by Vincent Massol
on 2016/02/18
>
Change comment: Improved the warning

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ManuelSmeria
1 +XWiki.VincentMassol
Content
... ... @@ -5,6 +5,8 @@
5 5  
6 6  {{warning}}
7 7  If you intend to use HSQLDB in production you should probably tune it for a production usage. If you've installed the XWiki standalone distribution just be aware that it's not tuned to be production-ready. Also note that you would need to find a way to perform backups, live replication, administration tools etc. We would suggest using a more production-ready database such as MySQL or PostgreSQL if you can.
8 +
9 +In addition you should be aware that HSQLDB stores the full database in memory which means you'd need to size your memory accordingly. As an indicator having a wiki with 9 subwikis (default XE pages) takes around 110MB in memory and you'd need to have more than 512MB or you'd quickly get Out of Memory errors when performing some memory-intensive operations (exports, etc).
8 8  {{/warning}}
9 9  
10 10  = Other optional ideas =
... ... @@ -12,9 +12,10 @@
12 12  * You can use a remote HSQLDB database instead of embedding it. To do this, just use a URL like ##jdbc:hsqldb:hsql:HOSTNAME...## instead of the ##jdbcc:hsqldb:file:..## URL. The major version of the hsqldb jar file must match the major version that the HSQLDB server is using.
13 13  * If you want to use your app server facilities to manage your data sources (generally a better strategy), then you must follow these steps:
14 14  ** Put the ##hsqldb*.jar## file into your app server class path instead of in your web app (like in ##$CATALINA_HOME/common/lib##)
15 -** In ##hibernate.cfg.xml##, use the following settings in place of the HSQLDB block in the sample file. Specifically, do not set the url, user, etc. here and leave the provider_class unset (i.e. use the default value), since XWiki's implementation does not handle container-managed data sources:
17 +** In ##hibernate.cfg.xml##, use the following settings in place of the HSQLDB block in the sample file. Specifically, do not set the url, user, etc. here and leave the provider_class unset (i.e. use the default value), since XWiki's implementation does not handle container-managed data sources:(((
16 16  {{code}}
17 17  <property name="connection.datasource">java:/comp/env/jdbc/xwiki</property>
18 18  <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
19 19  {{/code}}
22 +)))
20 20  ** the final step is to manage the data source using app server facilities. With Tomcat, for example, you would map the //resource link// ##jcbc/xwikiDs## to a container-managed data source using the Admin web app or by editing the file ##conf/Catalina/*/xwiki.xml## (i.e. webapp-name + ".xml").

Get Connected