Follow the instructions below to set up an embedded H2 database.The following sections describe how to replace the default H2 databases with Embedded H2:
Table of Contents
maxLevel | 3 |
---|---|
minLevel | 3 |
style | border:1 |
location | top |
type | flat |
separator | pipe |
Preparing the Embedded H2 Database
Download and install the H2 database in your computer, if it is not already done, using the installation guide at http://www.h2database.com/html/quickstart.html.
Setup configuration Files
1. Edit the default database configuration defined in the master-datasources.xml
file located at $CARBON_HOME/repository/conf/datasources
directory as below. Both the database configurations in registry.xml
and user-mgt.xml
refer this data source.
Info | ||
---|---|---|
| ||
The configurations should be replaced with your own database name, username, and password. |
Code Block | ||
---|---|---|
| ||
<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>
</configuration>
</definition>
</datasource>
|
The database configuration options.
- 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 negative 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, or <= 0 to wait indefinitely.
- minIdle - The minimum number of active connections that can remain idle in the pool, without extra ones being created, or 0 to create none.
Setup Drivers
Info | ||
---|---|---|
| ||
Currently, H2 database version h2-1.2.140.* and the related H2 database driver are shipped with the product. |
If you wish to use a new H2 database driver other than the version shipped with the product, follow the steps below.
1. Delete H2 database-related JARs shipped with the product. One could find them in the following locations.
<PRODUCT_HOME>/repository/components/plugins/h2-database-engine_1.2.140.wso2v3.jar
2. Copy the new H2 database driver (org.h2.Driver
) to <PRODUCT_HOME>/repository/components/lib
. One could find the required driver JAR in $H2_HOME/bin/h2-*.jar
.
Info | ||
---|---|---|
| ||
|
Create Database
Automatic Database Creation
Next, at the first time you start the server, run with the -Dsetup
option. It will create the H2 database with all the underlying tables.
- For Linux:
Code Block |
---|
sh wso2server.sh -Dsetup |
- For Windows:
Code Block |
---|
wso2server.bat -Dsetup
|
Manual Table Creation using scripts
Tables can be manually created by logging into the created database and running and following script in H2 shell or Web Console.
Code Block |
---|
<PRODUCT_HOME>/dbscripts/h2.
|
After setting up the DB tables, start the server with the below commands.
- For Linux:
Code Block |
---|
sh wso2server.sh
|
- For Windows:
...
Include Page shared:Setting up Embedded H2 (V1) shared:Setting up Embedded H2 (V1)