This page contains instructions on how to set up a MySQL datasource connection for Confluence Standalone or EAR/WAR.
On this page:
bin/shutdown.sh or bin/shutdown.bat to bring Tomcat down while you are making these changesMake a backup of your |
mysql-connector-java-3.0.10-stable-bin.jar.common/lib directory of your Tomcat installation. Be aware that this directory may be just lib for Tomcat version 6 and beyond (i.e. <tomcat-install>/lib rather than <tomcat-install>/common/lib).conf/server.xml file in your Tomcat installation. Users running their own Tomcat instance must edit the xml file where they declared the Confluence Context descriptor.conf/server.xml, find the following lines:
<Context path="" docBase="../confluence" debug="0" reloadable="true">
<!-- Logger is deprecated in Tomcat 5.5. Logging configuration for Confluence is specified in confluence/WEB-INF/classes/log4j.properties -->
|
Context tags, directly after the opening <Context.../> line, insert the DataSource Resource tag:
<Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource"
username="yourusername"
password="yourpassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true&useUnicode=true&characterEncoding=utf8"
maxActive="15"
maxIdle="7"
validationQuery="Select 1" />
|
&useUnicode=true&characterEncoding=utf8" on the end of the above URL. These options are not required for any database other than MySQL.The Confluence database connection URL must have |
|
When a database server reboots, or there is a network failure, all the connections in the connection pool are broken and this normally requires a Application Server reboot. However, the Commons DBCP (Database Connection Pool) which is used by the Tomcat application server can validate connections before issuing them by running a simple SQL query, and if a broken connection is detected, a new one is created to replace it. To do this, you will need to set the "validationQuery" option on the database connection pool. |
|
If switching from a direct JDBC connection to datasource, you can find the above details in your |
The configuration properties for Tomcat's standard data source resource factory (org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory) are as follows:
|
confluence/WEB-INF/web.xml in your confluence installation</web-app>, insert the following:
<resource-ref>
<description>Connection Pool</description>
<res-ref-name>jdbc/confluence</res-ref-name>
<res-type>javax.sql.Datasource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
|
java:comp/env/jdbc/confluencehibernate.<properties> section.
<property name="hibernate.setup"><![CDATA[true]]></property>
<property name="hibernate.dialect"><![CDATA[net.sf.hibernate.dialect.MySQLDialect]]></property>
<property name="hibernate.connection.datasource"><![CDATA[java:comp/env/jdbc/confluence]]></property>
|
Run bin/startup.sh or bin/startup.bat to start Tomcat with the new settings.
&relaxAutoCommit=true |
jdbc:mysql://localhost/confdb?autoReconnect=true&relaxAutoCommit=true |