在drools中按规则名称触发特定规则,而不使用议程过滤器

时间:2015-10-26 07:15:44

标签: jboss drools rules rule-engine

我读了规则文件并将它们添加到我的知识库中,然后我想在该知识库中触发一个特定的规则。这个任务在当前的drools版本中是否可行?

1 个答案:

答案 0 :(得分:1)

如果您有一个规则库,其中规则应根据某些标准动态激活,您有多种选择。

  1. 议程过滤器。你说你不想要这个,但为什么呢?
  2. 将备选规则纳入议程组。选择议程组" group_3"在通过调用
  3. 插入事实之前
    kieSession.getAgenda().getAgendaGroup( "group_3" ).setFocus();
    
    1. 编写规则以包含"选择"事实上,例如。
    2. rule rule_3
      when
          Select( rule == "rule_3" )
          Person( ... )
      then ... end
      

      选择事实可以与数据事实一起插入,但必须在触发规则后撤消。