...
Table of Contents | ||
---|---|---|
|
...
Preparing the remote H2 DB
1. Download and install the H2 database on your computer. You can find the H2 installation guide here.
2. Go to the $H2_HOME/bin
directory and run the H2 network server starting script.
Info | ||
---|---|---|
| ||
|
3. Run the H2 database server with the following commands.
- For Linux:
Code Block |
---|
$ ./h2.sh
|
- For Windows:
Code Block |
---|
$ h2.bat
|
The script will start the database engine and bring up a pop-up window with a "Start Browser" button. The "Start Browser" button will open a web browser containing a client application, which you can connect to a database. H2 will automatically create a database if a database does not exist by the name you provide in the "JDBC URL" text box.
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.
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:tcp://localhost/~/registryDB;create=true</url>
<username>regadmin</username>
<password>regadmin</password>
<driverClassName>org.h2.Driver</driverClassName>
<maxActive>80</maxActive>
<maxWait>60000</maxWait>
<minIdle>5</minIdle>
<testOnBorrow>true</testOnBorrow>
<validationQuery>SELECT 1</validationQuery>
<validationInterval>30000</validationInterval>
</configuration>
</definition>
</datasource>
|
The database configuration options
...
Setup Drivers
Info | ||
---|---|---|
| ||
The H2 database version h2-1.2.140 and the related H2 database driver are currently shipped with the WSO2 Governance Registry. |
If you want 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 the following H2 database related JARs. Some of them may already be excluded from the configuration.
$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
. You can find the required driver JAR in $H2_HOME/bin/h2-*.jar
.
Create Database
Automatic Database Creation
1. The first time you start the registry, run it 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
1. Tables can be manually created by logging into the created database and running the following script in H2 shell or web console.
Info | ||
---|---|---|
| ||
Use the |
Code Block |
---|
GREG_HOME/dbscripts/h2.sql |
2. After setting up the registry DB tables, start the server with the following commands.
- For Linux:
Code Block |
---|
sh wso2server.sh
|
- For Windows:
Code Block |
---|
wso2server.bat
|
...
hidden | true |
---|
...
Include Page | ||||
---|---|---|---|---|
|
Changing the product-specific/identity/service-provider databases
The topics above show how to change the WSO2_CARBON_DB
, which is used to store registry and user manager information. If you changed the product-specific database that comes by default or set up a separate database for identity/service-provider related data, the instructions are the same. In summary:
Add the datasource to the
master-datasources.xml
file.Create the database tables using the following script:
For the product-specific databases Use
<PRODUCT_HOME>/dbscripts/apimgt/h2.sql and
<PRODUCT_HOME>/dbscripts/bps/h2.sql
For the identity database Use
<PRODUCT_HOME>/dbscripts/identity/h2.sql
For the service-provider database Use
<PRODUCT_HOME>/dbscripts/service-provider/h2.sql