CMR Configuration
This document presents a basic CMR configuration guide for the versions 1.5 and above
All the properties of the Central Management Repository (CMR) that can be changed are defined in default CMR configuration file. This XML-based file can be found in the CMR/config folder and is named default.xml.
Default configuration file
The XML structure of the file is specially designed in the way that configuration is split in several sections, where each section can have one or more properties. Here is the simple example of the section that defines the JDBC properties:
<section name="JDBC"> <properties> <string-property name="URL" default-value="jdbc:h2:db/inspectit;LOCK_MODE=0;CACHE_SIZE=131072;DB_CLOSE_ON_EXIT=FALSE" server-restart-required="true" logical-name="database.url" advanced="true" description="The JDBC URL pointing to the database."> <validators> <isNotEmpty /> </validators> </string-property> <string-property name="Driver" default-value="org.h2.Driver" server-restart-required="true" logical-name="database.driver" advanced="true" description="The driver class to be used. "> <validators> <isFullyQualifiedClassName /> </validators> </string-property> <string-property name="Username" default-value="inspectit" server-restart-required="true" logical-name="database.user" advanced="true" description="The username used to connect to the database."> <validators> <isNotEmpty /> </validators> </string-property> <string-property name="Password" default-value="inspectit" server-restart-required="true" logical-name="database.password" advanced="true" description="The password used to connect to the database."> <validators> <isNotEmpty /> </validators> </string-property> </properties> </section>
As it can be seen each property defines several attributes that are specified within XML:
Property attributes | |
---|---|
Attribute | Description |
name | User-readable name of the property. |
description | User-readable description of the property. |
default-value | Default value of the property. |
logical-name | Logical name that will be used internally by the CMR. |
server-restart-required | Defines if changing of the property requires the server restart. |
advanced | Defines if property is advanced, thus should be changed only the expert users. |
In addition there are currently 5 types of properties, each defining what kind of value it is holding:
Available properties types | ||
---|---|---|
Type | Value Type | Example of value specification |
boolean-property | boolean | true or false (ex. default-value="true") |
long-property | long | parse-able long (ex. default-value="100") |
string-property | String | any string (ex. default-value="inspectit") |
percentage-property | float | number between 0 and 100 (ex. default-value="50") |
byte-property | long | specially defined bytes count consisted out of number and unit (ex. default-value="200MB") unit can be specified as B, KB, MB, GB, TB, etc |
Each property has set of defined validators that prove that value specified by the property is correct in terms of inspectIT usage. For example, the thread count property can not be negative. Furthermore, specific properties are grouped in the so-called group-property, where validators can create restrictions on the values between two or more properties. For example, the following specifies that max buffer pool capacity can not be less than min pool capacity.
<group-validators> <isLess property="storage.bufferPoolMinCapacity" than="storage.bufferPoolMaxCapacity" /> </group-validators>
Updating the property value
Property update from UI
Note that version 1.6 will bring possibility to update all properties values from the inspectIT User interface.
To update the wanted property value please change the default-value specified for the property in the default configuration file. Please do not alter any other property attribute!
<string-property name="test" default-value="updateValueHere" server-restart-required="true" logical-name="test.test" advanced="false" description="Test">
We strongly advise not to change the validators and values specified in them. Note that new value of the property will be tested against the validator and thus must fulfill all restrictions specified in the validators.