Configure Application Server-based Data Sources

On this page

Summary

This page describes Application server-based Data Source configurations. Major elements of the configuration:

  • Application server-based Data Source configuration - consult your application server documentation on how this is done and problem determination mechanisms. Note that the configuration may be specific to the application server version. For example, older Tomcat versions have some different configurations.
  • JDBC driver specific for the database to be accessed - consult your database documentation and other sources for the best JDBC driver to use.
  • Installation of JDBC driver on the application server
  • Database access - consult your database documentation on how to configure your database for access

Just Upgraded Confluence?

A common problem is errors after upgrading Confluence. Ensure that your upgrade procedures include updating your server.xml and copying all the JDBC drivers you use into the appropriate location. Also, check out this page for isolating these or application server version differences that cause problems. If you get errors immediately after an upgrade, this is the most likely cause.

Updated documentation

This page is updated from a previous version that has been archived as SQL for Confluence datasource configuration. The former page has been kept as a reference for links and comments. Some of the comments are still useful as they represent user questions and user contributed configurations and solutions. However, some of the information is also out dated.

Confluence Installation With Tomcat

Many users install the standard Confluence standalone distribution that includes Tomcat. This section will discuss configuration specific to this application server environment. The most recent versions of Confluence use newer versions of the Tomcat application server where the following configuration examples apply:

JDBC Driver Location

Put the driver jar in <install-dir>/lib - this is the directory that has other tomcat jars. If you have a much older version of Confluence that does not have this directory, look for <install-dir>/common/lib instead.

Tomcat Configuration

Modify <install-dir>/conf/server.xml to add one or more Data Source resource elements.  server.xml is an example of adding a few Data Sources for various local and non-local databases.

The essential element is something like the following where the Data Source name is myDS:

<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/mydatabase"
    validationQuery="Select 1"
/>

Resource must be within the confluence context tag

...
<Context path="" docBase="../confluence" debug="0" reloadable="false">
...
<Resource ... />
...
</Context>

Consider using a validation query



Database Examples

The sql macro markup would be: {sql:dataSource=myDS| ... }  

See Examples.

Further Configuration Management

See How to limit active database connections

Other Databases

Support for other databases depends on the capabilities provided by the JDBC driver. SQL for Confluence expects certain JDBC features to be available. In some cases, parameter choices can affect which capabilities are needed. User testing and community support is about the only help that is available for less popular databases/JDBC drivers. If you have had success with other databases, please add information to this page.


Problem determination

See Troubleshooting Application Server-based Data Sources.