MultiController Configuration

The MultiController contains the centralized license file and maintains a heartbeat with the components in the cluster.
camm226
The MultiController contains the centralized license file and maintains a heartbeat with the components in the cluster.
The configuration for LocalControllers, Engines, and Presenters in the cluster is also located in the repository of the MultiController.
The MultiController listens for heartbeat operations from cluster members on TCP port 29599.
During the console installation, you can configure only the mandatory settings to install a basic MultiController. However, you can manually edit the MC or LocalConfig-mc.xml file.
Sample LocalConfig-mc.xml file (basic configuration)
<?xml version="1.0" encoding="UTF-8"?> <LocalConfig> <Description>Configuration for Multi Controller</Description> <Names> <Name name="mainClass">com.torokina.tim.mc.Main</Name> <Name name="appName">CAMM-Multi-Controller</Name> <Name name="appShortName">MC</Name> <Name name="primaryMcAddress">127.0.0.1</Name> <Name name="secondaryMcAddress"></Name> <Name name="primaryMcPort">29599</Name> <Name name="secondaryMcPort">-1</Name>< <Name name="myMode">primary</Name> <Name name="myAddress">127.0.0.1</Name> <Name name="mcPort">29599</Name> <Name name="otherMcAddress"></Name> <Name name="otherMcPort">-1</Name> <Name name="heartbeatFrequency">15</Name> <Name name="heartbeatTimeout">180</Name> <Name name="repositoryFrequency">15</Name> </Names> <Paths> <Path name="license">${tim.base}/license.lic</Path> </Paths> <LocalConfig>
Sample LocalConfig-mc.xml file (hidden logging and cleanups configuration)
<Logging> <LogLevel>INFO</LogLevel> <LogDirectory>${logbase}</LogDirectory> <ObjectLogging> <ObjectToLog> <ObjectName>com.torokina.tim.config</ObjectName> <ObjectLogLevel>TRACE</ObjectLogLevel> </ObjectToLog> </ObjectLogging> </Logging> <CleanUps> <CleanUp> <CleanUpName>clean-temporary-directory</CleanUpName> <CleanUpAction>delete</CleanUpAction> <CleanUpTarget>${tmp}</CleanUpTarget> <Parameter> <ParameterName>expire</ParameterName> <ParameterValue>3d</ParameterValue> </Parameter> </CleanUp> <CleanUp> <CleanUpName>archive-log-directory</CleanUpName> <CleanUpAction>archive</CleanUpAction> <CleanUpTarget>${logbase}</CleanUpTarget> <Parameter> <ParameterName>expire</ParameterName> <ParameterValue>3d</ParameterValue> </Parameter> </CleanUp> <CleanUp> <CleanUpName>clean-log-directory</CleanUpName> <CleanUpAction>delete</CleanUpAction> <CleanUpTarget>${logbase}</CleanUpTarget> <Parameter> <ParameterName>expire</ParameterName> <ParameterValue>7d</ParameterValue> </Parameter> </CleanUp> </CleanUps>
Specifying any of these fields in the correct XML structure in the LocalConfig-mc.xml file overwrites the default content. For example, the following configuration changes the default log level to FINEST.
Changing the default log level to FINEST
<?xml version="1.0" encoding="UTF-8"?> <LocalConfig> ... ... <Logging> <LogLevel>FINEST</LogLevel> <LogDirectory>${logbase}</LogDirectory> </Logging> ... ... </LocalConfig>
Sample LocalConfig-mc.xml (MultiController runtime) file
<?xml version="1.0" encoding="UTF-8"?> <Runtime> <Names> <Name name="mainClass">com.torokina.tim.mc.Main</Name> <Name name="appName">CAMM-Multi-Controller</Name> <Name name="appShortName">MC</Name> <Name name="primaryMcAddress">127.0.0.1</Name> <Name name="secondaryMcAddress"/> <Name name="primaryMcPort">29599</Name> <Name name="secondaryMcPort">-1</Name> <Name name="myMode">primary</Name> <Name name="myAddress">127.0.0.1</Name> <Name name="mcPort">29599</Name> <Name name="otherMcAddress"/> <Name name="otherMcPort">-1</Name> <Name name="heartbeatFrequency">15</Name> <Name name="heartbeatTimeout">180</Name> <Name name="repositoryFrequency">15</Name> <Name name="lcPort">29598</Name> <Name name="manageable">469</Name> </Names> <Paths> <Path name="license">${tim.base}/license.lic</Path> <Path name="apphome">${tim.base}/${appShortName}</Path> <Path name="runtimeConfig">${apphome}/runtime.xml</Path> <Path name="tmp">${apphome}/tmp</Path> <Path name="logbase">${apphome}/logs</Path> <Path name="basedir">${tim.base}</Path> </Paths> </Runtime>
The runtime.xml file is merged with the hidden configuration and then starts the MultiController component.