Wiki source code of InstallationHSQL
Version 8.1 by Vincent Massol on 2012/06/11
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | = HSQL Installation = | ||
2 | |||
3 | Follow these instructions: | ||
4 | |||
5 | * HSQL is a very simple database to configure as you don't need to install nor to start it before being able to use it. It comes as a single JAR file named ##hsqldb*.jar##. If your XWiki WAR doesn't have it in ##WEB-INF/lib## you'll need to download it and copy it there. You can download it from the [[HSQLDB web site>>http://www.hsqldb.org/]] or directly from the [[Maven Central Repository>>http://repo1.maven.org/maven2/hsqldb/hsqldb/]]. | ||
6 | * Once this is done, you need to tell XWiki to use HSQL and to tell it where the database files will be created. To do this, edit the ##WEB-INF/hibernate.cfg.xml## file where you have expanded the XWiki WAR file and replace the matching properties with the following ones: | ||
7 | |||
8 | {{code}} | ||
9 | <property name="connection.url">jdbc:hsqldb:file:[DATABASE_LOCATION];shutdown=true</property> | ||
10 | <property name="connection.username">sa</property> | ||
11 | <property name="connection.password"></property> | ||
12 | <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> | ||
13 | <property name="dialect">org.hibernate.dialect.HSQLDialect</property> | ||
14 | {{/code}} | ||
15 | |||
16 | where ##[DATABASE_LOCATION]## is where you wish to put the HSQL database. For example ##/apps/xwiki-database/xwiki##. | ||
17 | |||
18 | == Other optional ideas == | ||
19 | |||
20 | {{velocity filter="none"}} | ||
21 | {{html clean="false" wiki="true"}} | ||
22 | * 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. | ||
23 | * If you want to use your app server facilities to manage your data sources (generally a better strategy), then | ||
24 | ** Put the ##hsqldb*.jar## file into your app server class path instead of in your web app (like in ##$CATALINA_HOME/common/lib##). | ||
25 | ** In ##hibernate.cfg.xml##, use the following settings in place of the HSQLDB block in the sample file. Specifically, you do not set url, user, etc, here, and leave the provider_class unset (i.e. use the default vlaue), since XWiki's implementation does not handle container-managed data sources. | ||
26 | {{/html}} | ||
27 | {{/velocity}} | ||
28 | |||
29 | {{code}} | ||
30 | <property name="connection.datasource">java:/comp/env/jdbc/xwiki</property> | ||
31 | <property name="dialect">org.hibernate.dialect.HSQLDialect</property> | ||
32 | {{/code}} | ||
33 | |||
34 | * | ||
35 | ** Then you 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"). |