预定义规则集和 RuleApp 属性

通过使用某些规则集或 RuleApp 属性,Decision Warehouse 可捕获和存储执行跟踪数据。

规则集属性适用于个别规则集。可通过以下某种方式设置规则集属性或 RuleApp 属性:

规则集属性

限制: 您不能重命名规则集属性。而必须除去属性并创建新的属性。

下表提供了预定义规则集属性的列表。

表 1. 预定义的规则集属性
名称 有效值 缺省值 描述
ilog.rules.engine.cacheRuleflowData truefalse false 当您在循环中执行规则集时可使用这个属性。当您将其值设置为 true 时,为规则流任务生成的数据将针对不同的执行保留在内存中。
ilog.rules.engine.hasherGeneration truefalse false 仅在规则集属性 ruleset.optimization.enabled 设置为 true 的情况下,您才能使用该属性。
ilog.rules.engine.rete5Task truefalse false 针对规则集中的每个任务,此属性使用 JRules 5.1 Rete 算法替代默认算法。
ilog.rules.engine.useJIT truefalse false 该属性定义动态规则编译的激活。要应用即时编译,您必须将该属性的值设置为 true
ilog.rules.engine.useStaticAgenda truefalse false 要使用对议程的静态优化,您必须将该属性的值设置为 true
ilog.rules.engine.useReteSharing truefalse false 该属性定义对用于控制 RetePlus 执行方式中共享功能的属性标志的激活。
ilog.rules.engine.wmModifiedByCode truefalse false 仅在规则集属性 ruleset.optimization.enabled 设置为 true 的情况下您才能使用该属性。
ilog.rules.teamserver.baseline 来自 Decision Center 的字符串   如果从 Decision Center 部署了规则集,那么该属性包含 Decision Center 基线名称。
ilog.rules.teamserver.permalink.project 作为一个字符串的 URL   该属性包含用于访问其中包含已部署规则的 Decision Center 项目的 URL。
ilog.rules.teamserver.permalink.report 作为一个字符串的 URL   该属性包含用于访问 Decision Center 报告的 URL。
monitoring.enabled truefalse false 将该规则集属性设置为 true 可启用对 Decision Warehouse 的规则集执行的监视。有关更多信息,请参阅查看和管理规则集
monitoring.filters

设置为 truefalse 的过滤器字符串的逗号分隔列表:FILTER_NAME=<value>, FILTER_NAME2=<value>, ...

例如:INFO_TOTAL_RULES_FIRED=TRUE, INFO_TOTAL_TASKS_EXECUTED =TRUE, INFO_EXECUTION_EVENTS=TRUE

  使用这个属性来为 Decision Warehouse 选择存储在规则集执行踪迹中的对象。有关更多信息,请参阅监视规则集执行
monitoring.inout.filters 类名的逗号分隔列表:ClassName1,className2, ...   有效值是过滤序列化的 in/out 参数内容的一个字符串。使用这个属性来为 Decision Warehouse 选择存储在规则集执行踪迹中的对象。不会在 Decision Warehouse 中跟踪该列表中的类名或属性。有关更多信息,请参阅监视规则集执行
ruleset.bom.enabled truefalse true
该属性为规则集启用基于 BOM 的执行功能。
  • Decision Warehouse 中存储器的输入和输出参数的 BOM 序列化
  • 使用经 BOM 序列化的输入和输出参数的执行

有关更多信息,请参阅产品信息中心中关于 BOM 序列化、执行监视和执行测试的主题。

ruleset.managedxom.uris

URI 的逗号分隔列表。例如:

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

无缺省值

该规则集属性用于控制 Java™ XOM 管理。它会找到规则集的 Java XOM 资源。

  • 如果不设置该属性且规则集使用 Java XOM,那么 Java 类将由应用程序类装入器装入。
  • 如果为规则集设置该属性(作为 URI 的列表),那么执行单元 (XU) 将针对规则集的执行创建和存储专用类装入器。每个 URI 都必须以用于 Java 执行的类和资源的 Java 归档 .jar 文件或 .zip 归档作为目标。

仅支持内部 URI:resurireslib 协议

ruleset.maxIdleTime

三种可能的值:

  • -1 或 undefined:将从高速缓存中除去规则集,具体取决于 JCA 连接池对规则集的使用情况。
  • =>0:在达到超时值(以秒为单位)并且没有任何 SPI 连接再引用规则集后,将规则集从高速缓存中除去。
  • 0:永远不将规则集从高速缓存中除去(重新部署了规则集的情况除外)。
 

该属性对规则集强制实施规则集池策略。最长空闲时间(以秒为单位)达到为此属性设置的指定值之前,规则集将保留在内存中。 要避免规则集重新解析,您可以使用特殊值 0 来确保永远不会从内存中释放规则集。

要点: 请谨慎使用值 0,因为在不再使用规则集的情况下,该值可能会引起严重的内存泄漏。
ruleset.sequential.trace.enabled truefalse false

该属性启用或禁用顺序处理的规则引擎跟踪方式。

将该规则集属性设置为 true 可启用对 Decision Warehouse 规则集执行的监控。该属性应用于包含特定任务(已为这些任务选择了顺序或快速路径执行方式)的规则集。

ruleset.sequential.trace.tasks 任务名称的逗号分隔列表   该属性启用该任务集合的跟踪。
ruleset.shareable truefalse   该属性指定是否可共享规则集实例。
ruleset.trace.enabled truefalse   该属性启用或禁用规则引擎跟踪方式。
ruleset.optimization.enabled truefalse   将该值设置为 true 后,将对每个规则集都调用 optimize(IlrRulesetOptimConfig config) 方法以在引擎中执行自动优化。
ruleset.xmlDocumentDriverPool.maxSize >=0 1

0 意味着为每次 XMLObject 变换都创建一个 XMLDocumentDriver 实例。

使用严格正值可指定 IlrXMLDocumentDriver 池的最大大小,即每个规则集的已使用和未使用 IlrXMLDocumentDriver 对象的最大数量。

ruleset.xmlDocumentDriverPool.reserveTimeout >=0   该属性指定毫秒数,经过此段时间之后用于保留 IlrXMLDocumentDriver 的调用将超时。

RuleApp 属性

RuleApp 属性应用于个别 RuleApp。下表列出了预定义 RuleApp 属性。
表 2. 预定义 RuleApp 属性
名称 描述
ruleapp.interceptor.classname 要使用的规则集执行拦截器的全名
ruleapp.interceptor.description 规则集执行拦截器类的描述