方案-
1.最终用户应该能够从前端创建规则。该规则将具有条件(我无法在Drools中找到一种根据用户创建的规则动态修改.drl文件的方法)
规则应能够在层次结构中定义,并且同一规则可以属于多个层次结构
最终用户应该能够触发规则的执行。需要说明的是,事实可能在KnowledgeSession中不可用,规则根据基础数据库转换为相关查询,然后在基础DB上触发。
因此,想法是在对实体的了解有限的情况下创建规则->触发规则时,它与基础数据库一起创建与基础数据库中存在的实体相关的查询
我可以使用Drools(另一个规则引擎)做些什么,而不是构建自定义实现吗?
最佳答案
看来您要做的并不容易。但是流口水应该是使它变得更容易的一种方法。我假设“层次结构”是指规则流,而不是规则流组,但是我认为答案仍然适用于其他情况。
我认为您可能要检查的工具是Drools Guvnor,因为它在DB中存储规则并提供用于更改规则的UI。
我认为棘手的一点是将这些规则应用于不同的规则流,但是我敢肯定,流口水提供了一种方法。或最坏的情况是,您需要克隆规则并将它们放入不同的规则流组中。