我正在开发一个包含许多规则的Drools项目。我们使用Drools规则进行验证。有许多字段和各种错误组合。在Drools workbench 6.4.0中,我们使用Guided Rules(with DSL)向导来提供业务友好的UI来创建规则。问题是每个新的引导规则操作将允许您只创建一个规则,并将其保存为一个规则文件,即.rdslr文件。
如果我手动创建drools规则,我可以简单地将它们组合在一起,如10或20个规则,放入一个规则文件中。使用Web引导规则UI,我是否可以将新规则添加到现有的引导规则文件中?否则,我将不得不为每个规则创建一个规则文件,最终会有大量的规则文件,很难在Web UI中导航。
如果我必须将每个规则保留在自己的规则文件中,那么规则文件的数量是否有限制?是否存在性能问题?
答案 0 :(得分:1)
如果我手动创建drools规则,我可以简单地将它们组合在一起,如10或20个规则,放入一个规则文件中。使用Web引导规则UI,我是否可以将新规则添加到现有的引导规则文件中?否则,我将不得不为每个规则创建一个规则文件,最终会有大量的规则文件,很难在Web UI中导航。
如果条件几乎相同,我建议使用引导决策表。一行是一条规则。
如果我必须将每条规则保留在自己的规则文件中,那么规则文件的数量是否有限制?
实际限制,不是真的 - 使用适当的计算机硬件(CPU,RAM)可以轻松实现数千个。
是否存在性能问题?
使用多个规则文件,没有。在启动时,Drools将规则处理为内部缓存表,因此无论原始规则格式如何(例如,一个大规则文件,都在单独的规则文件中),最终结果实际上是相同的。
关于规则组织的性能问题,更多地取决于规则数量。许多规则的运行时性能仍然非常好。正如预期的那样,我注意到系统中有更多规则的构建时间更长,但执行速度不慢。
但规则数量从来就不是我见过的问题。糟糕的规则架构是关键的性能和维护问题,而不是规则数量。