drools工作台引导规则在一个文件中包含多个规则

时间:2016-10-17 13:59:56

标签: drools rules rule-engine kie-workbench

我正在开发一个包含许多规则的Drools项目。我们使用Drools规则进行验证。有许多字段和各种错误组合。在Drools workbench 6.4.0中,我们使用Guided Rules(with DSL)向导来提供业务友好的UI来创建规则。问题是每个新的引导规则操作将允许您只创建一个规则,并将其保存为一个规则文件,即.rdslr文件。

如果我手动创建drools规则,我可以简单地将它们组合在一起,如10或20个规则,放入一个规则文件中。使用Web引导规则UI,我是否可以将新规则添加到现有的引导规则文件中?否则,我将不得不为每个规则创建一个规则文件,最终会有大量的规则文件,很难在Web UI中导航。

如果我必须将每个规则保留在自己的规则文件中,那么规则文件的数量是否有限制?是否存在性能问题?

1 个答案:

答案 0 :(得分:1)

  

如果我手动创建drools规则,我可以简单地将它们组合在一起,如10或20个规则,放入一个规则文件中。使用Web引导规则UI,我是否可以将新规则添加到现有的引导规则文件中?否则,我将不得不为每个规则创建一个规则文件,最终会有大量的规则文件,很难在Web UI中导航。

如果条件几乎相同,我建议使用引导决策表。一行是一条规则。

  

如果我必须将每条规则保留在自己的规则文件中,那么规则文件的数量是否有限制?

实际限制,不是真的 - 使用适当的计算机硬件(CPU,RAM)可以轻松实现数千个。

  

是否存在性能问题?

使用多个规则文件,没有。在启动时,Drools将规则处理为内部缓存表,因此无论原始规则格式如何(例如,一个大规则文件,都在单独的规则文件中),最终结果实际上是相同的。

关于规则组织的性能问题,更多地取决于规则数量。许多规则的运行时性能仍然非常好。正如预期的那样,我注意到系统中有更多规则的构建时间更长,但执行速度不慢。

但规则数量从来就不是我见过的问题。糟糕的规则架构是关键的性能和维护问题,而不是规则数量。