Fix 'Not supported by BasicDataSource' Setup or Startup Error
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
- Shut down Confluence
- Open the
confluence.cfg.xml
file in your Confluence Home directory in a text editor - Deletethe following lines if you find them:
- <property name="hibernate.connection.password">your-password</property>
- <property name="hibernate.connection.username">your-username</property>
- Save the modified file
- Restart Confluence