On this page
Overview
This page provides examples for configuring application server-based data sources across different versions of Confluence with varying configurations.
Confluence 8.0 and higher
The SQL for Confluence (Pro Edition) app version 11.x has removed the support for application server-defined data sources in Confluence 8.x. (Atlassian has ended support for the data source connections in Confluence 8.0. For more information, refer to Configuring a data source connection.) In Confluence 8.x, we recommend reconfiguring the application server-defined data source profile to the connection string profile. For more information, refer to How to convert an application server defined data source profile to a connection string profile. SQL for Confluence (Pro Edition) app version 11.x works seamlessly with Confluence 7.x (Confluence 7.4 to Confluence 7.20) versions, including support for application server-defined data sources (JNDI data source connections).
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