This page provides example configurations for application server-based data source for different Confluence versions and configuration differences with Confluence versions.
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.jdbc41.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 | 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" maxTotal="25" maxWaitMillis="10000" maxIdle="10" validationQuery="Select 1" /> | |
Microsoft SQL Server | Using Microsoft's jdbc driver | 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" /> |
Confluence 5.7 and lower
These are configuration examples based on Tomcat 6 or 7 which is 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 | Using Microsoft's jdbc driver | 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 - 9.x
There was a significant change in configuration values between Tomcat 7 (before Confluence 5.8) and Tomcat 8 (after Confluence 5.8). Confluence administrators should review their server.xml configuration and make adjustments.
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 customers have reported slow pages and related problems after upgrading Confluence. 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 is very low for many higher volume use cases. This is exacerbated by a no limit wait which provides no feedback to page viewer that there is contention. By reviewing your previous configuration and updating it to use the new parameters, it should restore previous behavior.
Additional Information
- How to limit active database connections
- Apache DBCP Configuration - all configuration values related to Tomcat 8