Examples

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 JDBC

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

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

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

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 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 - 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 ConnectionsDefault Max ConnectionsWait Time for Connection from PoolDefault Wait Time for Connection from PoolExample Settings
Tomcat 8maxTotal8maxWaitMillis (in milliseconds)-1 (no limit)
  • maxTotal="25"
  • maxWaitMillis="10000"
Tomcat 7maxActive-1 (no limit)maxWait (in seconds)30 (seconds)
  • maxActive="25"

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