Predefined ruleset and RuleApp properties

You can use predefined ruleset or RuleApp properties to stock deployment or execution information for a particular ruleset.

Ruleset properties apply to individual rulesets. You can set ruleset properties or RuleApp properties in one of the following ways:
  • In Rule Designer before you deploy.
  • In the Decision Center consoles before you deploy.
  • In the Rule Execution Server console after you have deployed.

Ruleset properties

Restriction: You cannot rename ruleset properties. Instead, you must remove the property and create a new one.

The following table provides the list of predefined ruleset properties.

Table 1. Predefined ruleset properties
Name Valid values Default value Description
ilog.rules.teamserver.baseline A string from Decision Center   This property contains the Decision Center baseline name if the ruleset is deployed from a classic rule project in the Decision Center Enterprise console.
ilog.rules.teamserver.permalink.project A URL as a string   This property contains the URL to access to the Decision Center project that contains the deployed rules of a classic rule project.
ilog.rules.teamserver.permalink.report A URL as a string   This property contains the URL to access the Decision Center report.
decisioncenter.url A URL   The URL of the Decision Center server from which the deployment was performed.
decisionservice.name A string   The name of the decision service that was deployed, for example, loanvalidation-rules-service.
decisionservice.id A string   The ID of the root project of the decision service that was deployed, for example, brm.RuleProject:44:44.
decisionservice.branch.name A string   The name of the deployment snapshot if the user chose to create one, the branch, or the snapshot in the decision service that was deployed, for example, b or d-20150231-158621.
decisionservice.branch.id A string   The ID of the deployment snapshot, branch, or snapshot in the decision service that was deployed, for example, brm.Branch:224:224.
decisionservice.branch.url A URL   A link to a page in the Decision Center Business console that displays the deployed branch or snapshot.
decisionservice.deploymentConfiguration.name A string   The name of the deployment configuration that was deployed, for example, d.
decisionservice.deploymentConfiguration.id A string   The ID of the deployment configuration that was deployed, for example, dsm.Deployment:3:3.
decisionservice.deployer.name A string   The display name of the Decision Center user who performed the deployment.
decisionservice.deployer.id A string   The login name of the Decision Center user who performed the deployment.
ruleset.engine.version A string   The MMU of the rule engine. for example, 1.20.0.
ilog.console.wsdl.endpoint A URL as a string   Use this property to override the default HTDS option for the web service endpoint.
ilog.console.htds.context A URL as a string   Use this property to override the default HTDS option for the location.
wsdl.targetnamespace A URL as a string   Use this property to override the default HTDS option for the target namespace.
wsdl.paramtargetnamespace A URL as a string   Use this property to override the default HTDS options for the parameter target namespace.
ruleset.managedxom.uris

A comma-separated list of URIs. For example:

resuri://common-classes.jar/1.0,resuri://LoanValidation.jar

No default value

This ruleset property controls Java™ XOM management. It locates the Java XOM resources for the ruleset.

  • If you do not set this property and the ruleset uses a Java XOM, the Java classes are loaded by the application class loader.
  • If you set this property (as a list of URIs) for a ruleset, the execution unit (XU) creates and stores a dedicated class loader for the execution of the ruleset. Each URI must target a Java Archive .jar file or a .zip archive of classes and resources for Java execution.

Only internal URIs are supported: resuri and reslib protocol

ruleset.maxIdleTime

Three possible values:

  • -1 or undefined: the ruleset is removed from the cache, depending on its usage by the JCA Connection Pool.
  • =>0: the ruleset is removed from the cache after the timeout (in seconds) is reached and no SPI connections reference it any more.
  • 0: the ruleset is never removed from the cache except if the ruleset is redeployed.
 

This property enforces the ruleset pool policy on a ruleset. A ruleset stays in memory until the maximum idle time (in seconds) has reached the specified value set for this property. To avoid ruleset reparsing, you can use the special value of 0 to ensure that the ruleset is never released from memory.

Important: Use the 0 value with caution as it might introduce a significant memory leak if the ruleset is not used any more.
ruleset.trace.enabled true, false   This property enables or disables the rule engine trace mode.
ruleset.xmlDocumentDriverPool.maxSize >=0 1

The 0 value means that an XMLDocumentDriver instance is created for each XMLObject transformation.

Use a strictly positive value to specify the maximum size of the IlrXMLDocumentDriver pool, that is, the maximum number of used and unused IlrXMLDocumentDriver objects per ruleset.

ruleset.xmlDocumentDriverPool.reserveTimeout >=0   This property specifies the number of milliseconds after which the call to reserve an IlrXMLDocumentDriver instance times out.
Table 2. Predefined ruleset properties for Decision Warehouse
Name Valid values Default value Description Classic Rule Engine only
monitoring.enabled true, false false Set this ruleset property to true to enable monitoring of ruleset execution for Decision Warehouse. For more information, see Viewing and managing rulesets. No
monitoring.filters

A comma-separated list of strings of filters set to true or false: FILTER_NAME=<value>, FILTER_NAME2=<value>, ...

Example: INFO_TOTAL_RULES_FIRED=TRUE, INFO_TOTAL_TASKS_EXECUTED =TRUE, INFO_EXECUTION_EVENTS=TRUE

  Use this property to select what is stored within a ruleset execution trace for Decision Warehouse. For more information, see Monitoring ruleset execution. No
monitoring.inout.filters A comma-separated list of class names: ClassName1,className2, ...   The valid value is a string to filter the contents of serialized in/out parameters. Use this property to select what is stored within a ruleset execution trace for Decision Warehouse. The class name or attributes in this list are not traced in Decision Warehouse. For more information, see Monitoring ruleset execution. Yes
ruleset.bom.enabled true, false true
This property enables BOM-based execution features for rulesets.
  • BOM serialization of input and output parameters for storage in Decision Warehouse
  • Execution using BOM-serialized input and output parameters

For more information, see Setting ruleset monitoring options and Testing ruleset execution.

Yes
ruleset.sequential.trace.enabled true, false false

This property enables or disables the rule engine trace mode for sequential processing.

Set this ruleset property to true to enable monitoring of ruleset execution for Decision Warehouse. This property applies to rulesets that contain tasks for which the sequential or Fastpath execution mode has been selected.

Yes
Table 3. Predefined ruleset properties for the classic rule engine only
Name Valid values Default value Description
ilog.rules.engine.cacheRuleflowData true, false false Use this property when you execute the ruleset in loops. When you set its value to true, the data generated for a rule flow task is kept in memory from one execution to another.
ilog.rules.engine.hasherGeneration true, false false You can use this property only if the ruleset property ruleset.optimization.enabled is set to true.
ilog.rules.engine.rete5Task true, false false This property replaces the default algorithm with the JRules 5.1 Rete algorithm for every task in the ruleset.
ilog.rules.engine.useJIT true, false false This property defines the activation of the dynamic rule compilation. To apply Just-In-Time compilation, you must set the value of this property to true.
ilog.rules.engine.useStaticAgenda true, false false To use static optimization of the agenda, you must set the value of this property to true.
ilog.rules.engine.useReteSharing true, false false This property defines the activation of the property flag that controls sharing in the RetePlus execution mode.
ilog.rules.engine.wmModifiedByCode true, false false You can use this property only if the ruleset property ruleset.optimization.enabled is set to true.
ruleset.sequential.trace.tasks A comma-separated list of task names   This property enables trace for that set of tasks.
ruleset.shareable true, false   This property specifies whether the ruleset instance can be shared.
ruleset.optimization.enabled true, false   When this value is set to true, the optimize(IlrRulesetOptimConfig config) method is called on each ruleset to execute the automatic optimization in the engine.
ilog.rules.engine.sequential.code.density double between 0.1 and 2 double 1 Specifies the density of the bytecode generated by the sequential mode compiler.

This property is provided only for troubleshooting purposes and must be used only when a verifier error occurs with the generated bytecode due to the rules being far more complicated than normal. It is normally not necessary to adjust the value of this property since most rules execute smoothly.

The value of this property must be a double between 0.1 and 2.

0.1 means that the generated bytecode is 10 times less dense than the average and handles rules that are 10 times more complex than the average.

2 means that the generated bytecode is 2 times more dense than the average. A high density must be specified only when the rules are simple.

RuleApp properties

RuleApp properties apply to individual RuleApp. The following table lists the predefined RuleApp properties.
Table 4. Predefined RuleApp properties
Name Description
ruleapp.interceptor.classname The full name of the ruleset execution interceptor to be used
ruleapp.interceptor.description A description of the ruleset execution interceptor class