【问题标题】:Drools - How can we fire all rules from more than 1 .drl fileDrools - 我们如何从多个 .drl 文件中触发所有规则
【发布时间】:2013-02-06 04:52:41
【问题描述】:

我有 3 个 .drl 文件,每个文件都有 3 条规则。鉴于相同的事实,我需要触发 drl 文件中的所有规则。知道我该怎么做吗?

【问题讨论】:

    标签: drools


    【解决方案1】:

    是的,您只需要使用这三个文件创建一个知识库。 对每个文件使用 kbuilder.add(),然后基于该知识库创建会话。

    干杯

    【讨论】:

      【解决方案2】:

      将 3 个 .drl 文件放在同一个知识库中:

      KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
      
      kbuilder.add(ResourceFactory.newClassPathResource("rules/rulesA.drl"), ResourceType.DRL);
      kbuilder.add(ResourceFactory.newClassPathResource("rules/rulesB.drl"), ResourceType.DRL);
      kbuilder.add(ResourceFactory.newClassPathResource("rules/rulesC.drl"), ResourceType.DRL);
      
      KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
      kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
      

      希望对你有帮助,

      【讨论】:

      • 无论如何我可以按任何特定顺序触发规则吗?
      • @DerickDaniel,这里不是开始新话题的地方。如果您认为 SO 中没有其他问题已经涵盖您所问的主题,那么请继续创建一个新问题。
      猜你喜欢
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      • 2019-07-01
      相关资源
      最近更新 更多