WSO2 - Registry setup

All WSO2 products are shipped with a built-in registry, supported by the H2 Database packaged with the product. Though its sufficient for many applications, its not recommended for Enterprise integration applications and Production environments.

In our case the ESB registry is mounted with WSO2 Governance Registry (GREG). The below steps can be used to change the ATOM based registry mount (default) with JDBC based mount.

The following example was implemented on the systems which had deployed resources and services, servicing other applications.

GREG

1. In GREG, replace WSO2_CARBON_DB in master-datasources.xml with JDBC details.

<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:oracle:thin:@172.17.0.2:1521:XE</url>
           <username>USER</username>
           <password>USER1234</password>
           <driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
           <maxActive>50</maxActive>
           <maxWait>60000</maxWait>
           <testOnBorrow>true</testOnBorrow>
           <validationQuery>SELECT 1</validationQuery>
           <validationInterval>30000</validationInterval>
        </configuration>
   </definition>
</datasource>

2. Since we are using a ORACLE Database, copy the driver ojdbc6.jar to the following path
<PRODUCT_HOME>/repository/components/lib/

3. Back up the .CAR files and configurations and packages

4. The following command will create the necessary tables on the target Datasource configured in the above step.
sh wso2server.sh -Dsetup

Validate the following

1. Tables and DB objects are created in the DB
2. Whether data is populated
3. Old resource content are also available
4. Existing CAR files got deployed successfully

Console:

User management

1. Existing user got updated in DB
2. Create a new user and the same should be populated in the DB



In ESB 4.9.0


1. Update the <PRODUCT_HOME>/repository/conf/datasource/master-datasources.xml
Add the following configuration

<datasource>
   <name>WSO2_CARBON_DB_GREG</name>
   <description>The datasource used for registry and user manager</description>
   <jndiConfig>
        <name>jdbc/WSO2CarbonDB_GREG</name>
   </jndiConfig>
   <definition type="RDBMS">
       <configuration>
           <url>jdbc:oracle:thin:@172.17.0.2:1521:XE</url>
           <username>USER</username>
           <password>USER1234</password>
           <driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
           <maxActive>50</maxActive>
           <maxWait>60000</maxWait>
           <testOnBorrow>true</testOnBorrow>
           <validationQuery>SELECT 1</validationQuery>
           <validationInterval>30000</validationInterval>
        </configuration>
   </definition>
</datasource>

2. Update the registry configuration

<PRODUCT_ HOME>/repository/conf/registry.xml

<dbConfig name="remote_registry">
      <dataSource>jdbc/WSO2CarbonDB_GREG</dataSource>
</dbConfig>

-- Specify the remote Governance Registry instance --

<remoteInstance url="https://172.17.0.6:9443/registry">
    <id>instanceid</id>
    <dbConfig>remote_registry</dbConfig>
    <cacheId>USER@jdbc:oracle:thin:@172.17.0.2:1521:XE</cacheId>
    <readOnly>false</readOnly>
    <enableCache>false</enableCache>
    <registryRoot>/</registryRoot>
</remoteInstance>

Mount configuration
    <mount path="/_system/governance" overwrite="true">
        <instanceId>governanceRegistryInstance</instanceId>
        <targetPath>/_system/governance</targetPath>
    </mount>

2. Copy the JDBC driver - ojdbc6.jar to /repository/components/lib/

3. Restart ESB

Validate the following

1. Logs have the successful mounting of remote registry




References:


https://docs.wso2.com/display/ESB490/Remote+Instance+and+Mount+Configuration+Details
https://docs.wso2.com/display/ESB490/Governance+Partition+in+a+Remote+Registry

Comments

  1. It is quite interesting blog post worth of reading. I really thankful for giving an opportunity to read an informative article like this! I really appreciate this post thank you for sharing these type of posts.

    Fast dedicated servers

    ReplyDelete

Post a Comment

Popular posts from this blog

WSO2 ESB - Disable Endpoint Suspension

WSO2 ESB - How to track messages between mediation flows

Endeca Baseline Indexing Issue - Perl Script Error