A datasource is a connection set up to a storage of data, such as a database or a data file, from a server. A datasource provides information that a server can use to connect to a a storage of data.
Enabling datasource management
Datasource management is provided by the following feature in the WSO2 feature repository.
Name : WSO2 Carbon - datasource management feature
Identifier: org.wso2.carbon.datasource.feature.group
If datasource management capability is not included in your product by default, add it by installing the above feature. For instructions on the datasource management feature, see Feature Management.
Adding datasources
Use the following steps to add a datasource:
- In the product management console, click Data Sources on the Configure tab.
- Click Add Data Source.
- Select the required options for connecting to the database. The available options are based on the type of datasource you are creating:
- Configuring a RDBMS Datasource
- Configuring a Custom Datasource
- After adding datasources, they will appear on the Data Sources page. You can edit and delete them as needed by clicking Edit or Delete links.
You can view, edit, and delete the datasources in your product instance by clicking Data Sources in the Configure menu of the product management console. However, you cannot edit or delete the default <WSO2_CARBON_DB>
datasource.
Datasource types
The following sections explain the datasource types, which are used in DAS.
WSO2 DAS default datasources
The default RDBMS type datasources, which are shipped with WSO2 BAM are defined in the <DAS_HOME>/repository/conf/datsources/
directory as follows.
Master datasources
The WSO2_CARBON_DB
master datasource, which is defined in the <DAS_HOME>/repository/conf/master-datasources.xml
file is used to store data of registry and user manager of WSO2 DAS in a RDBMS.
By default, this points to the in-built H2 database of the DAS. Replace the url
, username
, password
and driverClassName
settings with your custom values and also the other values accordingly in the master-datasources.xml
file as shown in the below example, to change the underlying RDBMS to which this datasource connects. For information on changing the underlying database type, see Working with Databases.
<datasource> <name>WSO2_CARBON_DB</name> <description>The datasource used for registry and user manager</description> <jndiConfig> <name>jdbc/WSO2CarbonDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:h2:repository/database/WSO2CARBON_DB;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=60000</url> <username>wso2carbon</username> <password>wso2carbon</password> <driverClassName>org.h2.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <defaultAutoCommit>false</defaultAutoCommit> </configuration> </definition> </datasource>
The datasource configuration options are as follows. For more information on these configuration properties, see Apache TomEE Documentation.
Parameter | Description |
---|---|
<url> | The URL of the database. |
<username> | The name of the database user. |
<password> | The password of the database user. |
<driverClassName> | The class name of the database driver. |
<maxActive> | The maximum number of active connections that can be allocated from this pool at the same time, or enter a negative value for no limit. |
<maxWait> | The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception. You can enter zero or a negative value to wait indefinitely. |
<testOnBorrow> | The indication of whether objects will be validated before being borrowed from the pool. If the object fails to validate, it will be dropped from the pool, and another attempt will be made to borrow another. |
<validationQuery> | The SQL query that will be used to validate connections from this pool before returning them to the caller. |
validationInterval | The indication to avoid excess validation, and only run validation at the most, at this frequency (time in milliseconds). If a connection is due for validation, but has been validated previously within this interval, it will not be validated again. |
<defaultAutoCommit> | The default auto-commit state of new connections. |
Analytics datasources
Following analytics datasources are defined in the <DAS_HOME>/repository/conf/datsources/analytics-datasources.xml
file. For more information on the usage and configuration of these datasources, see DAS Data Access Layer.
Datasource Name | Description |
---|---|
WSO2_ANALYTICS_FS_DB | This datasource is used for the Analytics File System to store the indexing information. |
WSO2_ANALYTICS_EVENT_STORE_DB | This datasource is used for the default Analytics Record Store to store event definitions. |
WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB | This datasource is used for the default Analytics Record Store to store processed data. |