Examples - 10.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 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.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

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

Log a request with our support team.

Confluence®, Jira®, Atlassian Bamboo®, Bitbucket®, Fisheye®, and Atlassian Crucible® are registered trademarks of Atlassian®
Copyright © 2005 - 2024 Appfire | All rights reserved. Appfire™, the 'Apps for makers™' slogan and Bob Swift Atlassian Apps™ are all trademarks of Appfire Technologies, LLC.