On this page
(In this page we need to remove most of the content and can talk about what's different in 11.x with Confluence 8.x..Need to discuss)
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