The following properties are used by Corticon Servers.
Note: Server properties are stored as a set of defaults in the CcServer.properties file that is packaged in the CcConfig.jar. Each property's notes, options, and default value are listed in this section. You should always set override values in the brms.properties file located at your work directory root -- or, in Studio, the preferred location specified in Preferences.
Important - The logging property com.corticon.server.execution.logperthread is no longer used. See the topic Changing logging configuration for more information.
Settings that restrict each of the three types of Rule Messages (info, warning, and violation) from being posted to the output of an execution.
Note: When logs are generated for individual Decision Service versions, these properties are set as Execution Properties on each Decision Service version through the API .
The default value for each of the properties is false -- that message type is not restricted.
Determines the path to an existing directory used exclusively by Corticon Server to persist and retrieve deployment assets. If the path does not exist, the Corticon Server attempts to automatically create it. If this fails then the Corticon Server is unable to startup. Use forward slashes as path separator. Example: C:/Users/{username}/Progress/CorticonWork/SER/CcServerSandbox. Default value is %CORTICON_WORK_DIR%/%CORTICON_SETTING%/CcServerSandbox
Corticon Server has a maintenance service that is tasked with keeping the state of the Decision Service pools up-to-date. The serviceIntervals property determines the number milliseconds elapsed in between service cycles during which Corticon Server checks for:
Changes in any .cdd loaded to Corticon Server by a loadFromCdd or loadFromCddDir call
Changes in any .cdd file including new cdds within the directory of cdds from a loadFromCddDir call
Changes in any of the Decision Services (.erf files) loaded to the server. This is done by checking the timestamp.
If any changes are detected, Corticon Server's state is dynamically updated to reflect the changes.
The maintenance service can be shutdown and restarted using:
ICcServer.stopDynamicaUpdateMonitoringService()
ICcServer.startDynamicUpdateMonitoringService()
Default for serviceIntervals is 30 secs (30000 ms)
Determines whether to display Corticon Server messages to System.out, reflecting the activities in the maintenance thread. This is primarily a debugging property to be used under instructions from Progress technical support. Default is false (no messages).
Set max loop iteration. Determines what constitutes an endless loop. For .ers files with the Process Logical Loops setting on, it is necessary to have a safety net to prevent endless loops. This is done by designating the maximum number of iterations allowed for any loop. Default is 100.
Set maxloop exception handling {raise, bury}. Specifies whether the rule engine will raise a MaxLoopsExceededException if the maximum number of loop iterations is exceeded. Default value is raise.
Specifies the location of the JRE that will be used by the Corticon Server to compile the Ruleflows into Decision Services. If not specified, the Corticon Server will use the same JRE that started the Corticon Server by calling into System.getProperty(java.home). Default value is looked up using System.getProperty(java.home).
Specifies which implementation class to be used when a supported interface is used for an association inside the user's mapped Business Object. This is needed by the BusinessObject Listener class, which is compiled during Decision Service deployment. Supported interfaces include:
Specify whether the Decision Service compile process should dynamically detect the location of the Jars where the Java Business Objects reside. Primary focus is to incorporate customer Java Business Objects in the Ant Classpath so that Listener Generation will succeed. Default value is true.
Specify whether the Decision Service compile process should include all the Jars that are in the same directory as the CcServer.jar in the Ant Compile Classpath. This may need to be set to true dependent on the type of Application Server the Decision Services are deployed on. Primary focus is to incorporate customer Java Business Objects in the Ant Classpath so that Listener Generation will succeed. Default value is true.
Specifies whether the rule engine conducts an integrity check when adding to an existing association. This integrity check ensures that rules do not add redundant associations between the same two entities. Although, this is a rare that occurance, it is possible. The downside of this integrity check is that Decision Services that create a significant number of new associations can experience a performance degradation. Such Decision Services would require this configuration property to be set to false. Default value is true.
Specifies whether the rule engine uses Loop Container Strategy. Loop Container Strategy will create a Rule container object for rules that form a loop, just as when loops are enabled, so that when sequential rules are executed they are executed as if they are in a loop, but without looping. Default value is false.
Specifies the amount of time in milliseconds that the Ant build processor will wait before automatically timing out. Default value is 300000 (5 minutes).
com.corticon.server.monitoring.decisionservice.record.data.registration.delimiter specifies the delimiter to use when registering default Tracking Attributes. Default value is ;
com.corticon.server.monitoring.decisionservice.record.data.bucket.registration.delimiter specifies the delimiter to use when registering range buckets for the monitoring service. Default value is ,
com.corticon.server.monitoring.decisionservice.record.data.bucket.results.delimiter specifies the delimiter to use between bucket definition and bucket counter when reporting results from the monitoring service. Default value is :
com.corticon.server.monitoring.decisionservice.trackingattribute.number =ds name;ds major version number,ds minor version number;tracking attribute;attribute type;bucket definitions
where:
ds name is the name of the Decision Service to be monitored
ds major version number is the Major Version number of the Decision Service to be monitored
ds minor version number is the Minor Version number of the Decision Service to be monitored
tracking attribute is the fully qualified path to the attribute as defined in Vocabulary
bucket definitions is the definitions of each bucket in which <tracking attribute> will be evaluated. This is an options field. If null, the Server will keep track of all unique values. Bucket definitions can be distinct values or range values. Range values only apply to <attribute type> Date, Decimal, and Integer.
These values are delineated using values from com.corticon.server.monitoring.decisionservice.base.registration.delimiter.
Bucket definitions are delineated using values from com.corticon.server.monitoring.decisionservice.bucket.registration.delimiter
com.corticon.server.monitoring.decisionservice.interval.record.times specifies whether Corticon Server will auto-start the recording of time interval measurements. Default value is true
com.corticon.server.monitoring.decisionservice.interval.record.sleep indicates the number of millisconds that the interval results will be recorded. Default value is 10000 (10 seconds)
com.corticon.server.monitoring.decisionservice.interval.record.total indicates the number of past intervals that will be stored in memory. Default value is 50
Default value: If autoloaddir.enable is true, then Corticon Server will automatically read the path specified in autoloaddir and attempt to reload any Decision Services referenced in any .cdd files it finds there. If false, Corticon Server will not try to reload Decision Services deployed via .cdd files.
If autoloaddir is empty, the following path is used: <user.dir>\cdd where <user.dir> is the value of environment variable user.dir which in Windows and Unix returns the directory where the container application was started.
Specifies whether the Server Execution start and stop times are appended to the CorticonResponse document after ICcServer.execute(String) or ICcServer.execute(Document) is performed. Default value is false.
Determines whether CDO association accessor (getter) methods will return clones of their association HashSets. Normally, an association getter will return a direct reference to the association HashSet.
The default value (false) provides the best performance, because cloning an association HashSet can trigger unnecessary database I/O due to lazy-loading.
You can use this property to overcome ConcurrentModificationException errors which may arise when a Rulesheet has two aliases assigned to the same association, and that Rulesheet contains action statements that modify the association collection.
Note that this property only applies to many-to-many associations; for many-to-1 associations, the CDOs will always return a direct reference to the singleton HashMap. Default is false
By default, attributes are checked for null values to prevent invalid operator calls. This property will disable the null checks on attributes used in an extension call out, thereby allowing null values to be passed into an extended operator call.
Determines whether all href references will be removed from the CorticonResponse in a post process step. This will only occur if the CorticonRequest contains the messageType attribute that tells the CcServer to execute in HIER mode. Default is true
Used by the Ruleset Compiler while under .NET. This property will allow the user to use a standard java.exe program to call into the ANT process to compile or to use ikvm.exe with the help of IKVM's OpenJDK. Default is ikvm
Compile option: Add the Rule Assets to the compiled EDS file. By having the Rule Assets inside the EDS file, new versions of the deployed Decision Service can be made on the Corticon Server. The Rule Assets will be encrypted. Including the Rule Assets in the EDS file will increase the EDS file significantly. Default is false
Compile option: Add the Rule Asset's Report to the compiled EDS file. By having the Report inside the EDS file, any user can get the report for a deployed Decision Service through an in-process or a SOAP call to the Corticon Server. Including the Report in the EDS file will increase the EDS file significantly. Default is true
Compile option: Add the Rule Asset's WSDL to the compiled EDS file. By having the WSDL inside the EDS file, any user can get the WSDL for a deployed Decision Service through an in-process or a SOAP call to the Corticon Server. Including the WSDL in the EDS file will increase the EDS file significantly. Default is true
Compile option: This property will allow the customer to configure the memory settings that are used to compile the Rule Assets into an EDS file. Default is -Xms256m -Xmx512m
Option that will restrict certain types of Rule Messages from being posted to the output of an execution. There are 3 different properties to allow the user to select exactly what is returned to them from the execution. Default is false (for all three properties)
Options that allow the user to define how many Rule Messages will be returned from the execution of a Decision Service. This helps to prevent users from accidentally deploying a Decision Service with diagnostic Rule Messages posted when each Rule is fired.
The property com.corticon.server.execution.xml.rulemessages.messagesinblock defines how many messages will be returned in the output. Default is 5000
The property com.corticon.server.execution.xml.rulemessages.blocknumber defines which block of messages will be returned in the response. This allows the user to specify the 2nd, 3rd, or nth number of 1000 messages to be returned. Default is 1 (the first block)
Option to relax the enforcement of Custom Data Type Constraints. When set to true, a CDT violation will post a warning message and execution will continue. When set to false, a CDT violation will cause an exception to be thrown halting execution. Default is false
Option to prepend rule metadata to the business rule statement text. When set to true, the rulesheet (if part of a ruleflow) and rule ID will be prepended to all business rule statements at deployment/compile time # When set to false, no change is made to the rule statements. Default is false
The timeout set on an execution thread waiting for an available Reactor from the Decision Service pool. When the thread's wait time exceeds this property's value, then a CcServerTimeoutException is thrown for that thread. Default value is 180000 milliseconds -- 3 minutes.
Option to not add the Entity Name as an xsi:type value for those new Entities that are created through Rules using the .new operator. This only applies to XML payloads. Default value is true -- Entity Name will be added as an xsi:type.
When a record is retrieved from the database during an EDC execution, standard behavior is to synchronize the retrieved record to what was passed in the payload. If the payload value is null, this property will determine if that null value is set into the retrieved record (true) or if the null value is ignored (false). By default, the null value in the payload will be ignored, and the value from the database will be honored. Default value is false.
com.corticon.server.execution.sync.nulls=false
This property value is the time that an Execution Thread's timeout value. The Execution Thread needs to complete its operation within the time out period, otherwise a CcServerTimeoutException will be thrown. The value is in milliseconds. Default value is 180000 (180000ms = 3 minutes)
Specifies whether the XSD and WSDL generators append the word "Type" at the end of each complexType in the related XSD or WSDL file. This was the standard in earlier versions of the generators. Default value is false.
Controls all Service Call-Out (SCO) newEntity calls. When set to true, all entities are added to the work document. When set to false, new entities are prevented from being added to the work document, providing a performance boost when the entities are needed for rule process but are not needed in the result document of the rule service. Default value is true.
Controls all new operator calls in rule actions. When set to true, all entities created by rules are added to the work document. When set to false, new entities are prevented from being added to the work document, providing a performance boost when the entities are needed for rule process but are not needed in the result document of the rule service. Default value is true.
Controls whether null values in the new initializers will create a new entity. When set to true, null values in the new initializers will NOT create a new entity. When set to false, null values in the new initializers WILL create a new entity. Default value is false.