On this page
Overview
This page provides examples for configuring application server-based data sources across different versions of Confluence with varying configurations.
Confluence 5.8 and higher
These are configuration examples based on Tomcat 8 or higher which is shipped with Confluence versions starting with Confluence 5.8.
Database | Information | JDBC Driver Example | Resource Configuration |
---|---|---|---|
PostgreSQL | postgresql-9.3-1103.postgresql-42.2.2.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" username="confluence" password="confluence" maxTotal="25" maxWaitMillis="10000" maxIdle="10" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/confluence" validationQuery="Select 1" /> | |
MySQL | mysql-connector-java-5.1.34.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/mydatabase?autoReconnect=true" username="username" password="password" maxTotal="25" maxWaitMillis="10000" maxIdle="5" validationQuery="Select 1" />
| |
Oracle | Thin Driver | ojdbc6.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@www.some_server.com:1521:mysid" username="username" password="password" connectionProperties="SetBigStringTryClob=true" maxTotal="25" maxWaitMillis="10000" maxIdle="5" validationQuery="Select 1 from DUAL" /> |
Oracle Advanced | Thin Driver | ojdbc6.jar | |
Microsoft SQL Server | sqljdbc4.jar | Similar to the other examples here with parameters like the MS SQL Server example on data source profiles. <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="dbc:sqlserver://localhost:1433;database=testing;" username="username" password="password" maxTotal="25" maxWaitMillis="10000" maxIdle="10" validationQuery="Select 1" /> | |
Derby | derbyclient.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="org.apache.derby.jdbc.ClientDriver" url="jdbc:derby://localhost:1527/dbname" username="username" password="password" maxActive="20" maxIdle="10" validationQuery="Select 1" /> |
Confluence 5.7 and lower
These are configuration examples based on Tomcat 6 or 7, shipped with Confluence versions before 5.8.
Database | Information | JDBC Driver Example | Resource Configuration |
---|---|---|---|
PostgreSQL | postgresql-8.2-507.jdbc3.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" username="confluence" password="confluence" maxActive="100" maxIdle="10" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/confluence" validationQuery="Select 1" /> | |
MySQL | mysql-connector-java-3.1.14-bin.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/mydatabase?autoReconnect=true" username="username" password="password" maxActive="25" maxIdle="5" maxWait="10000" validationQuery="Select 1" />
| |
Oracle | Thin Driver | ojdbc6.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@www.some_server.com:1521:mysid" username="username" password="password" connectionProperties="SetBigStringTryClob=true" maxActive="25" maxIdle="5" maxWait="10000" validationQuery="Select 1 from DUAL" /> |
Oracle Advanced | Thin Driver | ojdbc6.jar | |
Microsoft SQL Server | jtds-1.2.2.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://mysqlserver:1433/mydatabase" username="username" password="password" maxActive="20" maxIdle="10" maxWait="-1" validationQuery="Select 1" /> | |
Microsoft SQL Server | sqljdbc4.jar | Similar to the other examples here with parameters like the MS SQL Server example on data source profiles. | |
Derby | derbyclient.jar | <Resource name="jdbc/myDS" auth="Container" type="javax.sql.DataSource" driverClassName="org.apache.derby.jdbc.ClientDriver" url="jdbc:derby://localhost:1527/dbname" username="username" password="password" maxActive="20" maxIdle="10" validationQuery="Select 1" /> |
Differences starting with Confluence 5.8
There was a significant change in configuration values between Tomcat versions 7 (before Confluence 5.8) and 8 (after Confluence 5.8). Confluence administrators should review server.xml configuration and make adjustments accordingly.
Max Connections | Default Max Connections | Wait Time for Connection from Pool | Default Wait Time for Connection from Pool | Example Settings | |
---|---|---|---|---|---|
Tomcat 8 | maxTotal | 8 | maxWaitMillis (in milliseconds) | -1 (no limit) |
|
Tomcat 7 | maxActive | -1 (no limit) | maxWait (in seconds) | 30 (seconds) |
|
Why is this important?
Some of our customers have reported slow pages and related problems after upgrading their Confluence versions. This is a likely consequence of running out of connections and having to wait for a connection to become available. The new default of 8 connections are very low for high-volume use cases. This is exacerbated by a no limit wait time, which provides no feedback to page viewer that there is a contention. By reviewing your previous configuration and updating with the new parameters, you should be able to restore the past behavior.
Additional information
- Limit active database connections
- Apache DBCP Configuration - configuration values related to Tomcat 8