mirror of
https://github.com/YunoHost-Apps/xwiki_ynh.git
synced 2024-09-03 20:36:11 +02:00
266 lines
16 KiB
XML
266 lines
16 KiB
XML
<!--
|
|
* See the NOTICE file distributed with this work for additional
|
|
* information regarding copyright ownership.
|
|
*
|
|
* This is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU Lesser General Public License as
|
|
* published by the Free Software Foundation; either version 2.1 of
|
|
* the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this software; if not, write to the Free
|
|
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
|
-->
|
|
<hibernate-configuration>
|
|
<session-factory>
|
|
<!-- Please refer to the installation guide on
|
|
https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/ for configuring your database.
|
|
You'll need to do 2 things:
|
|
1) Copy your database driver JAR in WEB-INF/lib or in some shared lib directory
|
|
2) Uncomment the properties below for your specific DB (and comment the default
|
|
database configuration if it doesn't match your DB)
|
|
-->
|
|
<!-- Generic parameters common to all Databases -->
|
|
<property name="hibernate.show_sql">false</property>
|
|
<property name="hibernate.use_outer_join">true</property>
|
|
<!-- Without it, some queries fail in MS SQL. XWiki doesn't need scrollable result sets, anyway. -->
|
|
<property name="hibernate.jdbc.use_scrollable_resultset">false</property>
|
|
<!-- DBCP Connection Pooling configuration. Only some properties are shown. All available properties can be found
|
|
at https://commons.apache.org/proper/commons-dbcp/configuration.html
|
|
-->
|
|
<property name="hibernate.dbcp.defaultAutoCommit">false</property>
|
|
<property name="hibernate.dbcp.maxTotal">50</property>
|
|
<property name="hibernate.dbcp.maxIdle">5</property>
|
|
<property name="hibernate.dbcp.maxWaitMillis">30000</property>
|
|
<!-- Enable JMX monitoring for DBCP -->
|
|
<property name="hibernate.dbcp.jmxName">org.apache.dbcp:DataSource=dbcp</property>
|
|
<!-- Tell Hibernate to use XWiki's custom DBCP Connection Provider so that the DBCP pool is used -->
|
|
<property name="hibernate.connection.provider_class">com.xpn.xwiki.store.DBCPConnectionProvider</property>
|
|
<!--
|
|
Keep the old behavior. The new version of hibernate tries to delete and recreate unique
|
|
constraints when updating the database schema. The problem is that an exception is thrown
|
|
when the constraint to be deleted does not exists, which is the case with a new XWiki
|
|
instance.
|
|
See https://hibernate.atlassian.net/browse/HHH-8162
|
|
-->
|
|
<property name="hibernate.schema_update.unique_constraint_strategy">skip</property>
|
|
<!-- Setting "hibernate.dbcp.poolPreparedStatements" to true and "hibernate.dbcp.maxOpenPreparedStatements" will
|
|
tell DBCP to cache Prepared Statements (it's off by default). Note that for backward compatibility the
|
|
"hibernate.dbcp.ps.maxActive" is also supported and when set it'll set "hibernate.dbcp.poolPreparedStatements"
|
|
to true and "hibernate.dbcp.maxOpenPreparedStatements" to value of "hibernate.dbcp.ps.maxActive".
|
|
|
|
Note 1: When using HSQLDB for example, it's important to NOT cache prepared statements because HSQLDB
|
|
Prepared Statements (PS) contain the schema on which they were initially created and thus when switching
|
|
schema if the same PS is reused it'll execute on the wrong schema! Since HSQLDB does internally cache
|
|
prepared statement there's no performance loss by not caching Prepared Statements at the DBCP level.
|
|
See https://jira.xwiki.org/browse/XWIKI-1740.
|
|
Thus we recommend not turning on this configuration for HSQLDB unless you know what you're doing :)
|
|
|
|
Note 2: The same applies to PostGreSQL.
|
|
-->
|
|
<!-- BoneCP Connection Pooling configuration.
|
|
<property name="hibernate.bonecp.idleMaxAgeInMinutes">240</property>
|
|
<property name="hibernate.bonecp.idleConnectionTestPeriodInMinutes">60</property>
|
|
<property name="hibernate.bonecp.partitionCount">3</property>
|
|
<property name="hibernate.bonecp.acquireIncrement">10</property>
|
|
<property name="hibernate.bonecp.maxConnectionsPerPartition">60</property>
|
|
<property name="hibernate.bonecp.minConnectionsPerPartition">20</property>
|
|
<property name="hibernate.bonecp.statementsCacheSize">50</property>
|
|
<property name="hibernate.bonecp.releaseHelperThreads">3</property>
|
|
<property name="hibernate.connection.provider_class">com.xpn.xwiki.store.DBCPConnectionProvider</property>
|
|
-->
|
|
<!-- Configuration for the default database.
|
|
Comment out this section and uncomment other sections below if you want to use another database.
|
|
Note that the database tables will be created automatically if they don't already exist.
|
|
|
|
If you want the main wiki database to be different than "xwiki" (or the default schema for schema based
|
|
engines) you will also have to set the property xwiki.db in xwiki.cfg file
|
|
<property name="hibernate.connection.url">jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_db;shutdown=true</property>
|
|
<property name="hibernate.connection.username">sa</property>
|
|
<property name="hibernate.connection.password"/>
|
|
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
<mapping resource="xwiki.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
<mapping resource="mailsender.hbm.xml"/>-->
|
|
<!-- MySQL configuration.
|
|
Uncomment if you want to use MySQL and comment out other database configurations.
|
|
Notes:
|
|
- if you want the main wiki database to be different than "xwiki"
|
|
you will also have to set the property xwiki.db in xwiki.cfg file
|
|
- if you're using a MySQL 8+ JDBC driver, you don't need the "hibernate.connection.driver_class" which will
|
|
generate a warning since it's not needed as the driver is registered automatically
|
|
|
|
<property name="hibernate.connection.url">jdbc:mysql://localhost/xwiki?useSSL=false</property>
|
|
<property name="hibernate.connection.username">xwiki</property>
|
|
<property name="hibernate.connection.password">xwiki</property>
|
|
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
|
|
<property name="hibernate.dbcp.poolPreparedStatements">true</property>
|
|
<property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
<mapping resource="mailsender.hbm.xml"/>
|
|
-->
|
|
<!-- MariaDB configuration.
|
|
Uncomment if you want to use MariaDB and comment out other database configurations.
|
|
Notes:
|
|
- if you want the main wiki database to be different than "xwiki"
|
|
you will also have to set the property xwiki.db in xwiki.cfg file
|
|
|
|
<property name="hibernate.connection.url">jdbc:mariadb://localhost/xwiki?useSSL=false</property>
|
|
<property name="hibernate.connection.username">xwiki</property>
|
|
<property name="hibernate.connection.password">xwiki</property>
|
|
<property name="hibernate.connection.driver_class">org.mariadb.jdbc.Driver</property>
|
|
<property name="hibernate.dbcp.poolPreparedStatements">true</property>
|
|
<property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
<mapping resource="mailsender.hbm.xml"/>
|
|
-->
|
|
<!-- HSQLDB configuration.
|
|
Uncomment if you want to use HSQLDB and comment out other database configurations.
|
|
Notes:
|
|
- if you want the main wiki schema to be different than "PUBLIC" (the default HSQLDB schema)
|
|
you will also have to set the property xwiki.db in xwiki.cfg file
|
|
|
|
<property name="hibernate.connection.url">jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki_db;shutdown=true</property>
|
|
<property name="hibernate.connection.username">sa</property>
|
|
<property name="hibernate.connection.password"></property>
|
|
<property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
<mapping resource="mailsender.hbm.xml"/>
|
|
-->
|
|
<!-- PostgreSQL configuration. -->
|
|
<!--
|
|
Uncomment if you want to use PostgreSQL and comment out other database configurations.
|
|
Notes:
|
|
- "hibernate.jdbc.use_streams_for_binary" needs to be set to "false",
|
|
see https://community.jboss.org/wiki/HibernateCoreMigrationGuide36
|
|
- "xwiki.virtual_mode" can be set to either "schema" or "database". Note that currently the database mode
|
|
doesn't support database creation (see https://jira.xwiki.org/browse/XWIKI-8753)
|
|
- if you want the main wiki database to be different than "xwiki" (or "public" in schema mode)
|
|
you will also have to set the property xwiki.db in xwiki.cfg file-->
|
|
|
|
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/__DB_NAME__</property>
|
|
<property name="hibernate.connection.username">__DB_USER__</property>
|
|
<property name="hibernate.connection.password">__DB_PWD__</property>
|
|
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
|
|
<property name="hibernate.jdbc.use_streams_for_binary">false</property>
|
|
<property name="xwiki.virtual_mode">schema</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.postgresql.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
<mapping resource="mailsender.hbm.xml"/>
|
|
|
|
<!-- Oracle configuration.
|
|
Uncomment if you want to use Oracle and comment out other database configurations.
|
|
Notes:
|
|
- the 2 properties named "hibernate.connection.SetBigStringTryClob" and
|
|
"hibernate.jdbc.batch_size" are required to tell Oracle to allow CLOBs larger than 32K.
|
|
- "hibernate.jdbc.use_streams_for_binary" needs to be set to "false",
|
|
see https://community.jboss.org/wiki/HibernateCoreMigrationGuide36
|
|
- if you want the main wiki schema to be different than "xwiki"
|
|
you will also have to set the property xwiki.db in xwiki.cfg file
|
|
|
|
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
|
|
<property name="hibernate.connection.username">xwiki</property>
|
|
<property name="hibernate.connection.password">xwiki</property>
|
|
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
|
|
<property name="hibernate.connection.SetBigStringTryClob">true</property>
|
|
<property name="hibernate.jdbc.batch_size">0</property>
|
|
<property name="hibernate.jdbc.use_streams_for_binary">false</property>
|
|
<property name="hibernate.dbcp.poolPreparedStatements">true</property>
|
|
<property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.oracle.hbm.xml"/>
|
|
<mapping resource="feeds.oracle.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
<mapping resource="mailsender.oracle.hbm.xml"/>
|
|
-->
|
|
<!-- Derby configuration.
|
|
Uncomment if you want to use Derby and comment out other database configurations.
|
|
Notes:
|
|
- if you want the main wiki schema to be different than "APP" (the default Derby schema)
|
|
you will also have to set the property xwiki.db in xwiki.cfg file
|
|
|
|
<property name="hibernate.connection.url">jdbc:derby:/some/path/xwikidb;create=true</property>
|
|
<property name="hibernate.connection.driver_class">org.apache.derby.jdbc.EmbeddedDriver</property>
|
|
<property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
|
|
<property name="hibernate.dbcp.poolPreparedStatements">true</property>
|
|
<property name="hibernate.dbcp.maxOpenPreparedStatements">20</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.derby.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
-->
|
|
<!-- H2 configuration.
|
|
Uncomment if you want to use H2 and comment out other database configurations.
|
|
Notes:
|
|
- if you want the main wiki schema to be different than "PUBLIC" (the default H2 schema)
|
|
you will also have to set the property xwiki.db in xwiki.cfg file
|
|
|
|
<property name="hibernate.connection.url">jdbc:h2:${environment.permanentDirectory}/database/xwiki</property>
|
|
<property name="hibernate.connection.username">sa</property>
|
|
<property name="hibernate.connection.password"></property>
|
|
<property name="hibernate.connection.driver_class">org.h2.Driver</property>
|
|
<property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
|
|
|
|
<property name="hibernate.connection.charSet">UTF-8</property>
|
|
<property name="hibernate.connection.useUnicode">true</property>
|
|
<property name="hibernate.connection.characterEncoding">utf8</property>
|
|
|
|
<mapping resource="xwiki.hbm.xml"/>
|
|
<mapping resource="feeds.hbm.xml"/>
|
|
<mapping resource="instance.hbm.xml"/>
|
|
<mapping resource="notification-filter-preferences.hbm.xml"/>
|
|
-->
|
|
</session-factory>
|
|
</hibernate-configuration>
|