Fix 'Not supported by BasicDataSource' Setup or Startup Error

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.

Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Symptoms

When running Tomcat 6, connecting to the database using a Tomcat-configured DataSource, Confluence will not start. During setup you see the following error message:

Setup Datasource Database Failed 
Setting up datasource database instance failed. You can either try it again 
or or go back to the database selection page:

Restart Database Setup
Setup Datasource Database Again

The following error(s) occurred: 
Configuring the database failed. Couldn't create the database schema. 
Could not open Hibernate Session for transaction; nested exception is 
java.lang.UnsupportedOperationException: Not supported by BasicDataSource 
Context initialization failed: Could not open Hibernate Session for 
transaction; nested exception is java.lang.UnsupportedOperationException: 
Not supported by BasicDataSource 
---------------------

Or, during start-up the following stack-trace is logged:

org.springframework.transaction.CannotCreateTransactionException: 
       Could not open Hibernate Session for transaction; 
       nested exception is java.lang.UnsupportedOperationException: Not supported by BasicDataSource
Caused by: java.lang.UnsupportedOperationException: Not supported by BasicDataSource
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:899)
        at net.sf.hibernate.connection.DatasourceConnectionProvider.getConnection
           (DatasourceConnectionProvider.java:56)
        at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:292)
        at net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3373)
        at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3333)

Cause

Tomcat 6 does not allow applications to authenticate DataSource connections. You must make sure that you have supplied a username and password in the DataSource configuration in your Tomcat config files, for example:

<Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource"
   username="cmiller"
   password="mysecret"
   driverClassName="org.postgresql.Driver"
   url="jdbc:postgresql://localhost/t6test"
   maxActive="20"/>

Resolution

  1. Shut down Confluence
  2. Open the confluence.cfg.xml file in your Confluence Home directory in a text editor
  3. Deletethe following lines if you find them:
    • <property name="hibernate.connection.password">your-password</property>
    • <property name="hibernate.connection.username">your-username</property>
  4. Save the modified file
  5. Restart Confluence

Last modified on Dec 19, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.