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:

JDBC section in configuration file
	<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
AttributeDescription
nameUser-readable name of the property.
descriptionUser-readable description of the property.
default-valueDefault value of the property.
logical-nameLogical name that will be used internally by the CMR.
server-restart-requiredDefines if changing of the property requires the server restart.
advancedDefines 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
TypeValue TypeExample of value specification
boolean-propertybooleantrue or false (ex. default-value="true")
long-propertylongparse-able long (ex. default-value="100")
string-propertyStringany string (ex. default-value="inspectit")
percentage-propertyfloatnumber between 0 and 100 (ex. default-value="50")
byte-propertylong

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 validation example
<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!

Update property default value
<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.