System properties
The propertyManager set command sets properties that modify the behavior and characteristics of the server. Depending on the scope of the specific property, the values are applied to the entire system, all solutions, all agents, or all aggregates.
You can also manage these properties by using the GlobalPropertiesMXBean: com.ibm.ia.runtime.management.GlobalPropertiesMXBean. Note that the method getProperty of GlobalPropertiesMXBean returns null for the value of the property if not set. For more information, see GlobalPropertiesMXBean.
The following table lists system settings that are determined by the value of system properties.Property | Description | Default value |
---|---|---|
agentDisableSaveState | Set this property to true to conserve memory resources if all the rule agents are stateless. When the property is enabled, the state of rule agents is not saved, so rule agents that are stateful do not operate correctly. | false |
dataProviderCacheSize | Determines the size of the data provider result cache. If the cache size limit is exceeded, the last recently used result is evicted. There is one cache for each Node (JVM). | 10000 |
debugPort | Set this property to configure a cluster environment. It indicates one or more ports that the server monitors for connections from a test driver instance. The value matches the debug servers, and the value is specified by the debugServers property in the testdriver.properties file. | none |
engineCacheSize | Determines the size of the rule engine caches. There is a cache for each partition. | 100 |
eventCacheSize | Determines the size of the event object cache. There is one cache for each Node (JVM). | 1000 |
jobHistoryTTL |
Determines how long job histories are retained. Specify a value of 0 or more. A value of 0 means that job histories are retained forever. You can set a value to save memory space and remove unwanted job histories. | 604800 seconds (7 days) |
LogInitialSuppressionPeriod | Defines the time period between the first and second suppression reports. The period is doubled each time that a report is produced until the period between each report reaches the value that is defined by LogMaxSuppressionPeriod. | 5000 |
LogMaxSuppressionPeriod | Defines the maximum period between suppression reports. | 30000 |
LogMaxTrackedMessages | Defines the maximum number of messages that can be suppressed at any one time. When the maximum number of tracked messages is reached, new log messages that surpass the threshold are suppressed and the oldest messages make way for them. | 50 |
LogSuppressionThresholdPeriod | Defines the time period over which log messages are counted. A log message rate is calculated from the value of the log threshold and the time period for the threshold. When the message rate is deemed too high, all subsequent messages are suppressed. Messages are produced again only when the rate falls to an acceptable volume. | 20000 |
LogSuppressionThreshold | Defines the number of occurrences of any log message that is permitted in a specified time period. The value of this property determines the number of times a log message is produced before it is suppressed. | 10 |
maxAgentTransactionRetries | Sets the number of times an agent retries a transaction before an error is reported. If you modify the default value, the minimum value is 2. | 5 |
maxEventProcessingThreads | Indicates the number of agents that can run concurrently on the server. The value must be 10 to 20 times the number of CPU cores available on the server. | 100 |
maxRecursionCount | Indicates the number of times an emitted event type that is bound to the same
entity type can recur in the same event chain. The simplest form of recursion is if an agent emits an event type to which it also subscribes. Harder to spot cases can involve an agent emitting an event type A when the agent is subscribed to a super-type of event type A. You can also create cycles, where an agent X emits A, and an agent Y emits B, and agent X is subscribed to event type B or a super-type of B. The runtime spots recursion and throws an exception to break the recursive loop. You can control how much recursion to allow in your solution by setting the maxRecursionCount property to value greater than 1. |
1 |
mementoDatabaseFormat | Determines whether the memento is stored in XML or in JSON. By default, the memento is stored in XML format. | xml |
solutionAutoStart | Set the value to true to activate solutions automatically upon deployment. In a production environment with multiple servers, set the value of the solutionAutoStart property to false so that you can install a solution on each server before you activate the solution. | true |
warningCacheExpiration | This property indicates the time after which to remove an entry in the logging cache. The value is set as a positive integer followed by a unit of time, which can be days (h), hours (h), minutes (m), seconds (s), or milliseconds (ms). For example, 12 days is 12d. Set the value to -1 to cancel the expiration mechanism. The oldest warnings get evicted first. | 24h |
warningEnabled | Set the value to true to capture warnings. When enabled, this property applies on all the solutions that are deployed on the server. There are three types of warning: runtime, system and solution. When you enable the warning property, check the trace.log file and look for the following message: CWMBD0224I: System monitor logging service is enabled. | false |
warningDbTransactionThreshold | This property sets the threshold to flag database slow down. The value is defined in millisecond. | 1000 |
warningGcFrequencyThreshold | This property sets the threshold to indicate if the garbage collection count during the last 1 minute is high. The value is defined as an integer. | 120 |
warningGcPauseTimeThreshold | This property sets the threshold to indicate if the garbage collection pause time is taking too long. The value is defined in millisecond. | 10000 |
warningGcUsedHeapSizeThreshold | This property sets the threshold to indicate if the used heap size after garbage collection is still high. The value is proportionate to the total heap size. | 0.90 |
warningOmitDuplicateDuration | This property sets the duration to continue to skip logging of duplicate warnings. It prevents from flooding the warning logs with duplicate messages. It applies to all warning types, except for messages on event processing retry. The value is specified as a positive integer followed by a unit of time, which can be days (h), hours (h), minutes (m), seconds (s), or milliseconds (ms). For example, 15 minutes is 15m. | 10m |
warningExcludeKeywords | This property omits any exception captured that matched by a keyword. The match is case sensitive, and the value is a list delimited by either a comma, a semi-colon, or a colon. For example CWOBJ0061W, CWOBJ7854W. | none |
warningIncludeKeywords | This property captures any exception logged on the server matched by a keyword. The match is case sensitive, and the value is a list delimited by either a comma, a semi-colon, or a colon, for example CWOBJ7853W, CWOBJ7854W. | none |
warningRuntimeWarningEnabled | Set this property to false to disable the runtime warnings. Runtime warnings are specific to the runtime, and not associated with a solution. | true |
warningRuntimeWarningMaxSize | This property indicates the maximum number of runtime warnings the cache can store. The value is defined as an integer. | 1000 |
warningSystemWarningEnabled | Set this property to false to disable system warnings. This property can only be set when the IBM® Health Center is running on each runtime server that you want to monitor. | true |
warningSystemWarningMaxSize | This property indicates the maximum number of system warnings the cache can store. The value is defined as an integer. | 1000 |