Wiki source code of InstallationHSQL
Version 5.1 by blaine on 2008/06/20
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | 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 <tt>hsqldb*.jar</tt>. If your XWiki WAR doesn't have it in <tt>WEB-INF/lib</tt> 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 <tt>WEB-INF/hibernate.cfg.xml</tt> 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 <tt>\[DATABASE_LOCATION\]</tt> is where you wish to put the HSQL database. For example <tt>/apps/xwiki-database/xwiki</tt>. | ||
17 | * 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 HyperSQL server is using. | ||
18 | * *Xwiki does not handle container-managed data sources*, as intended by Hibernate. This is due to bad assumptions in the class <tt>com.xpn.xwiki.store.DBCPConnectionProvider</tt>. | ||
19 | <!-- ENABLE THIS IF Xwiki FIXES THEIR DBCP ConnectionProviderFactory IMPLEMENTATION: | ||
20 | * If you want to use your app server facilities to manage your data sources (generally a better strategy), then | ||
21 | ** Put the hsqldb*.jar file into your app server class path instead of in your web app (like in <tt>$CATALINA_HOME/common/lib</tt>). | ||
22 | ** Use <tt>hibernate.cfg.xml</tt> remove settings for connection.url, connection.username, connection.password, connection.driver_class, and add settings like this: | ||
23 | <property name="dialect">org.hibernate.dialect.HSQLDialect</property> | ||
24 | <property name="connection.datasource">java:/comp/env/jdbc/xwikiDs</property> | ||
25 | {code} | ||
26 | ** Then you manage the data source using app server facilities. With Tomcat, for example, you would map the ~~resource link~~ <tt>jcbc/xwikiDs</tt> to a container-managed data source using the Admin web app or by editing the file <tt>conf/Catalina/*/xwiki.xml</tt> (i.e. webapp-name + ".xml"). | ||
27 | --> |