drools决策表优先级
时间: 2023-09-29 08:09:02 浏览: 161
在Drools中,可以使用“salience”属性为规则、决策表和查询设置优先级。 salience值越高,规则的优先级就越高。在决策表中,可以在列的属性中设置salience值来定义每个规则的优先级。如果没有设置salience值,则默认为0。当多个规则的salience值相同时,它们将按照它们在文件中出现的顺序依次执行。可以使用“agenda-group”属性将规则分组,这样可以控制规则的执行顺序。
相关问题
drools性能参数
Drools是一个开源的规则引擎,它在运行时管理复杂的业务规则。为了优化其性能,Drools提供了几个关键的性能参数,这些参数有助于调整系统的执行效率。以下是其中一些重要的性能配置:
1. **MemoryLimit**: 设置工作内存大小限制,用于控制知识库(Working Memory)的大小,避免内存溢出。
2. **MaxThreads**: 指定决策表(Decision Table)并发处理的最大线程数,可以提高处理速度,但过多可能导致资源争抢。
3. **AgendaFilter**: 控制激活规则集的方式,如Concurrent Agenda、Sequential Agenda等,影响了规则执行的顺序。
4. **Optimise** 和 **BatchSize**: 对于批量处理,可以选择是否启用优化,以及批量处理的大小,这对减少规则查询次数有帮助。
5. **TimeLimit**: 如果有时间约束,可以设置规则触发的时间间隔,防止无休止地检查规则。
6. **RuleflowContext**: 配置何时创建新的RuleFlow实例,这会影响全局变量的隔离程度和性能。
7. **AgendaGroups**: 组织规则到不同的群组,可以按需调整每个群组的优先级或并发度。
调整这些参数需要根据具体的业务需求和硬件资源来进行,以达到最佳性能。
阅读全文