Follow the below instructions to set up the remote Derby database.
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 using instructions given at http://db.apache.org/derby/manuals.
3. Go to the <derby-installation directory>/bin
directory and run the Derby network server start script. Usually, it is named startNetworkServer
.
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.
Note
Replace the following settings with your own custom values:
<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.ClientDriver</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.
Note
In contrast to the embedded Derby, in the remote registry, you will set the database driver name (the driverName
element) to the value org.apache.derby.jdbc.ClientDriver
and the database URL (the url
element) to the database remote location.
Setup Drivers
Copy derby.jar
, derbyclient.jar
and derbynet.jar
from $DERBY_HOME/lib
in to $CARBON_HOME/repository/components/extensions
directory (to the class path of the WSO2 Message Broker web application).
Create Database
Automatic Database Creation
1. The first time you start the server, run it with the -Dsetup option so that it will create the Derby database.
- For Windows:
wso2server.bat -Dsetup
- For Linux:
wso2server.sh -Dsetup
2. WSO2 Message Broker is configured to run using a remote Apache Derby database.
Manual Database Creation
1. Run the ij
tool located in the <derby-installation directory>/bin
directory.
2. Create the database and connect to it using the following command inside the ij
prompt:
Note
Replace the database file path, user name, and password in the below command to suit your requirements.
connect 'jdbc:derby://localhost:1527/db;user=regadmin;password=regadmin;create=true';
3. Exit from the ij
tool by typing the exit command.
exit;
4. Log in to the ij
tool with the username and password you just used to create the database.
connect 'jdbc:derby://localhost:1527/db' user 'regadmin' password 'regadmin';
5. Run the Derby scripts for both the registry and user manager (embedded) databases, provided with WSO2 Message Broker, using the following command:
run 'CARBON_HOME/dbscripts/derby.sql';
6. Restart the server. Now WSO2 Message Broker is running using a remote Apache Derby database.