我正在尝试将Drools用作同步器的规则引擎。同步器根据某些条件对系统进行一些更改,这些条件将使用Drools进行检查。
fireAllRules()和匹配
假设我的规则可能存在'匹配'** m0,m1,m2和m3。在上图中,我展示了两个fireAllRules()的匹配项。
第一次运行fireAllRules()时,'我得'***匹配m0,m1和m2。
然后我的同步器在系统中做了一些更改。在第二次运行fireAllRules()时,我得到匹配m1,m2和m3。
我的同步器在此阶段需要的是识别以下内容:
由于Drools是一种增量模式匹配器,我很好奇是否有办法获取这些信息(在上面的要点中)。
**'匹配'我的意思是满足规则的“何时”部分的事实集合。 因此,如果我在工作内存中有两个类型为Test()的对象,那么就像
这样的简单规则when
t : Test()
应该有两个匹配项m0和m1,其中包含有关两个Test()对象的信息。
***'我得'我的意思是我要求Drools为我提供这个。我不知道怎么做到这一点。