This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Follow the instructions below to set up an embedded H2 database.



Preparing the Embedded H2 Database

Download and install the H2 database in your computer, if it is not already done. You can find the H2 installation guide here.


Setup configuration Files

1.  Edit the default database configuration defined in the master-datasources.xml file located at $GREG_HOME/repository/conf/datasources directory of the deployed registry instance as below. Both the database configurations in registry.xml and user-mgt.xml refer this data source.

Note

The configurations should be replaced with your own database name, username, and password.

      <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

Tip

Presently, H2 database version h2-1.2.140 and the related H2 database driver is shipped with the WSO2 Governance Registry.

If you wish to use a new H2 database driver other than the version shipped with the WSO2 Governance Registry, you need to do the following.

1. Delete H2 database-related JARs shipped with the WSO2 Governance Registry. One could find them in the following locations.

  • $GREG_HOME/repository/components/plugins/h2-database-engine-1.2.140.wso2v2.jar
  • $GREG_HOME/repository/components/configuration/org.eclipse.osgi/bundles/38/1/.cp/h2-1.2.140.jar
  • $GREG_HOME/repository/lib/h2-1.2.140.jar
  • $GREG_HOME/lib/h2-database-engine-1.2.140.wso2v2.jar

2. Copy the new H2 database driver (org.h2.Driver) to $GREG_HOME/repository/components/lib. One could find the required driver JAR in $H2_HOME/bin/h2-*.jar.


Create Database

Automatic Database Creation

Next, at the first time you start the registry, run with the -Dsetup option. It will create the H2 database with all the underlying tables.

  • For Linux:
sh wso2server.sh -Dsetup

  • For Windows:
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.

GREG_HOME/dbscripts/h2.

After setting up the registry DB tables, start the server with the below commands.

  • For Linux:
sh wso2server.sh
  • For Windows:
wso2server.bat
  • No labels