Examples - 11.x

Examples - 11.x

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

Confluence 5.8 to Confluence 7.20

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

Database

Information

JDBC Driver Example

Resource Configuration

PostgreSQL

PostgreSQL JDBC

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

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" />


See

SQL-146 - Getting issue details... STATUS
for info on how to configure multiple result sets.

Oracle

Thin Driver
Oracle 11g JDBC
Oracle 12c JDBC

ojdbc6.jar
ojdbc7.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
Oracle 11g JDBC
Oracle 12c JDBC

ojdbc6.jar
ojdbc7.jar

See Tomcat 6.0 using Oracle Universal Connection Pool.

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.

<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

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

Database

Information

JDBC Driver Example

Resource Configuration

PostgreSQL

PostgreSQL JDBC

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

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" />


See

SQL-146 - Getting issue details... STATUS
for info on how to configure multiple result sets.

Oracle

Thin Driver
Oracle 11g JDBC
Oracle 12c JDBC

ojdbc6.jar
ojdbc7.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
Oracle 11g JDBC
Oracle 12c JDBC

ojdbc6.jar
ojdbc7.jar

See Tomcat 6.0 using Oracle Universal Connection Pool.

Microsoft SQL Server

jtds driver

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

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



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)

  • maxTotal="25"

  • maxWaitMillis="10000"

Tomcat 7

maxActive

-1 (no limit)

maxWait (in seconds)

30 (seconds)

  • maxActive="25"

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.

Need support? Create a request with our support team.

Copyright © 2005 - 2025 Appfire | All rights reserved.