Users can change the default configurations by editing the
<PRODUCT_HOME>/repository/conf/registry.xml file using the information given below. Click on the table and use the left and right arrow keys to scroll horizontally.
|XML element||Attribute||Description||Data type||Default value||Mandatory/|
|<cacheConfig>||When an application requests to use a particular resource stored in the registry or creates/modifies a resource in the registry, the Carbon server will cache the resource for subsequent use. The |
|<lastAccessedExpirationMillis>||Specifies the time period for which a resource in the registry will be cached after it is read by an application.||15||Optional||<lastAccessedExpirationMillis>60000</lastAccessedExpirationMillis>|
|<lastModifiedExpirationMillis>||Specifies the time period for which a resource in the registry will be cached after it is created or modified.||15||Optional||<lastModifiedExpirationMillis>60000</lastModifiedExpirationMillis>|
The server can only handle one active configuration at a time. The currentDBConfig parameter defined in the registry.xml is used to specify the database configuration that is active at present. The value of the currentDBConfig parameter should be a valid name of a database configuration defined on the registry.xml file.
To run the registry in read-only mode, set the readOnly element to true. Setting the read-only mode allows you to run an immutable instance of registry repository. This setting is valid on a global level.
|__<enableCache>||To enable registry caching, set the enableCache element to true. Once caching is enabled, repetitive read operations will be executed against the cache instead of the database. This setting is valid on a global level.||Boolean||true||Mandatory||<enableCache>true</enableCache>|
The registryRoot parameter can be used to define the apparent root of the running instance of the server. This setting is valid on a global level.
You can configure this parameter under the
When you are maintaining DB connections, it is always recommended to use a validation query to check the health of the TCP connection of the connections that stay in the DB connection pool.
Since opening connections is an expensive and time consuming operation, after a connection is created, it will be kept open for a specific time in the pool. When re-using these connections from the pool, there can be situations that the TCP connection to the DB is interrupted and the connection consumer gets errors such as communication link failures etc.
To avoid that you can use a validation query always as a best practice. It is an SQL statement specific to the DBMS type, which runs before using the connection.
|N/A||This validates the connection objects before borrowign them from the pool. If the object fails to validate, it will be dropped from the pool, and another will be attempted to borrow. This property can be added to the ||Boolean||true||Optional|
Handlers are pluggable components, that contain custom processing logic for handling resources. All handlers extend an abstract class named Handler, which provides default implementations for resource handling methods as well as a few utilities useful for concrete handler implementations.
In order to mount an external registry, you have to define the remote instance. This could use either the JDBC-based configuration, the Atom-based configuration model or the WebService-based configuration model.
|url||The URL of the remote instance.||String||remoteInstance url="">|
|__<ID>||Remote instance ID.||String||instanceid||Optional||<id>instanceid</id>|
|__<username>||Username of the remote registry login.||String||username||Optional||<username>username</username>|
|__<password>||Password of the remote registry login.||String||password||Optional||<password>password</password>|
|__<dbConfig>||The database configuration to use.||String||wso2registry||Optional||<dbConfig>wso2registry</dbConfig>|
To run the registry in read-only mode set the readOnly element to true. Setting the read-only mode allows you to run an immutable instance of registry repository. This setting is valid only for the specific remote instance.
|__<enableCache>||To enable registry caching, set the enableCache element to true. Once caching is enabled, repetitive read operations will be executed against the cache instead of the database. This setting is valid only for the specific remote instance.||String||true||Optional||<enableCache>true</enableCache>|
The registryRoot parameter can be used to define whether the apparent root of the running instance of the server. This setting is valid only for the specific remote instance.
Once a remote instance has been defined, a collection on the remote registry can be mounted to the local instance.
|Mandatory||<mount path="/_system/config" overwrite="true|false|virtual">|
|path||The path to which the mount will be added to.||String||/_system/config|
|overwrite||Whether an existing collection at the given path would be overwritten or not.||true|false|virtual|
|__<instanceID>||Remote instance ID.||instanceid||Mandatory||<instanceId>instanceid</instanceId>|
|__<targetPath>||The path on the remote registry.||String||/_system/nodes||Mandatory||<targetPath>/_system/nodes</targetPath>|
|__<versionResourcesOnChange>||You can configure whether you want to auto-version the resources (non-collection) by setting versionResourcesOnChange element to true. In this configuration it will create a version for the resources whenever it is updated.||Boolean||false||Mandatory||<versionResourcesOnChange>false|
While most configuration options can be changed after the first run of the WSO2 Governance Registry, changing the Static Configuration (configuration details under the staticConfiguration parameter), will not be fully effective. If you need to change any Static Configuration and expect it to take effect, you will have to erase the contents of the database, and restart the server passing the -Dsetup system property which will re-generate the database.
Deprecation of -DSetup
When proper Database Administrative (DBA) practices are followed, the systems (except analytics products) are not granted DDL (Data Definition) rights on the schema. Therefore, maintaining the
You are supposed to change the static configuration section only before loading any data to the registry (That is before the first start-up).
|__ __<versioningProperties>||Whether the properties are versioned when a snapshot is created.||Boolean||true||Mandatory|
|__ __<versioningComments>||Whether the comments are versioned when a snapshot is created.||Boolean||true||Mandatory|
|__ __<versioningTags>||Whether the tags are versioned when a snapshot is created.||Boolean||true||Mandatory|
|__ __<versioningRatings>||Whether the ratings are versioned when a snapshot is created.||Boolean||true||Mandatory|