事实上插入的规则 - Drools

时间:2015-03-25 13:39:52

标签: drools

我是Drools的新手,并从基础开始。这是一个设置;

  1. 有一些规则文件
  2. 不同文件中的规则属于不同的议程组
  3. 所有规则都以相同的事实运作
  4. 在我的单元测试中,我获得了一个特定的“议程组”,设置了焦点(session.setFocus
  5. 我插入了这个事实(我注意到其他议程组中的规则正在进行评估,即使重点不在于它们)

  6. fireAllRules()

  7. 不应该触发与重点关注的特定议程小组有关的规则而不是所有小组的所有规则吗?

1 个答案:

答案 0 :(得分:1)

这是许多基于规则的系统中的基本规律 - 尤其是那些遵循Rete或类似算法的系统 - 评估的条件(“t 每当工作记忆中有更改时,就会发生“,”左侧“),插入,更新或删除。相反,规则触发或执行后果(”然后“,”右侧“)在fireAllRulesfireUntilHalt被调用后发生。

规则的触发 - 更确切地说:规则的激活 - 可以通过多种方式进行控制。在这里,确实是专注的议程小组,限制了引擎可以执行的内容。

请记住:评估不等于执行