On this page
Summary
This page describes Application server based data source configurations.
Major elements of the configuration are:
- 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 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?
The most common problem after a Confluence upgrade is errors. Ensure that your upgrade procedures include server.xml updates and create a copy of all the JDBC drivers in use to an appropriate location. Also, check out this page for isolating these or application server version differences that cause problems. It is the most likely reason behind errors after an upgrade activity.
Updated documentation
This page is an updated version of a page that has been archived. The previous version of the page has been kept as a reference for links and comments. Some of the comments are still useful as they represent user-contributed questions and configurations or solutions. However, some of the information is also outdated.
Confluence installation with Tomcat
Many users install the standard Confluence standalone distribution that includes Tomcat. This section will discuss the 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 holds other tomcat jars. If you have a much older version of Confluence without 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 data sources for various local and non-local databases.
The essential element looks like the sample code mentioned below, 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
Refer to this stack overflow question, to know more about validationQuery with respect to a JNDI data source.
Database examples
The SQL macro markup will look like: {sql:dataSource=myDS| ... } See Examples - 10.x.
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 requires that certain JDBC features are available. In some cases, choosing certain parameter options can affect the capabilities. User testing and community support are the only help resources available for less popular databases or JDBC drivers. If you have had success with other databases, let us know about the method in your comments on this page.
Problem determination
See Troubleshooting Application Server Based Data Sources - 10.x.