Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Follow the instructions below to set up an embedded Derby database.The following sections describe how to replace the default H2 databases with embedded Derby: 

Table of Contents
style
maxLevel3
minLevel3

...

hiddentrue

...

Include Page
border:1
locationtop
typeflat
separatorpipe

Preparing the Derby Database

1. Download Apache Derby from http://apache.mesi.com.ar/db/derby/db-derby-10.8.2.2/ and save it to your computer.

2. Install Apache Derby on your computer by following the instructions at: http://db.apache.org/derby/manuals

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
titleNote

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

Code Block
languagehtml/xml
<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:derby://localhost:1527/db;create=true</url>
               <username>regadmin</username>
               <password>regadmin</password>
               <driverClassName>org.apache.derby.jdbc.EmbeddedDriver</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
  • 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.
Info
titleNote

In contrast to the remote Derby, in embedded mode, you will set the database driver name ( the driverName element) to the value org.apache.derby.jdbc.EmbeddedDriver and the database URL (the url element) to the database directory location relative to the ESB installation. In the above sample configuration, it is inside the database/WSO2CARBON_DB directory.

Setup Drivers

Copy derby.jarderbyclient.jar and derbynet.jar from $DERBY_HOME/lib in to $CARBON_HOME/repository/components/extensions directory (to the class path of the WSO2 Carbon web application).

Create Database

Automatic Database Creation

1. The first time you start the server, run with the -Dsetup option so it will create the Derby database.

  • For Linux:
Code Block
wso2server.sh -Dsetup
  • For Windows:
Code Block
wso2server.bat -Dsetup

2. The WSO2 ESB is configured to run using an embedded Apache Derby database.

Manual Database Creation

1. Run the ij tool located in the <derby-installation-directory>/bin directory.

Image Removed

2. Create the database and connect to it using the following command inside the ij prompt.

Image Removed

Info
titleNote

Replace the database file path in the below command to suit your requirements.

Code Block
connect 'jdbc:derby:repository/database/WSO2CARBON_DB;create=true';
Info
titleNote

Here you need to give the full path to your database in place of /WSO2CARBON_DB.

3. Exit from the the ij tool by typing the exit command.

Code Block
exit;

Image Removed

4. Login to the ij tool with the username and password you set in the registry.xml and user-mgt.xml.

Code Block
connect 'jdbc:derby:repository/database/WSO2CARBON_DB' user 'regadmin' password 'regadmin';

Image Removed

5. Run the derby scripts for both the registry and user manager (embedded) databases, provided with the WSO2 ESB using the below command.

Code Block
run 'CARBON_HOME/dbscripts/derby.sql';

6. Restart the server. Now WSO2 ESB is running using a remote Apache Derby database.

Shared:Setting up Embedded Derby (V1)
Shared:Setting up Embedded Derby (V1)