【发布时间】:2013-02-06 04:52:41
【问题描述】:
我有 3 个 .drl 文件,每个文件都有 3 条规则。鉴于相同的事实,我需要触发 drl 文件中的所有规则。知道我该怎么做吗?
【问题讨论】:
标签: drools
我有 3 个 .drl 文件,每个文件都有 3 条规则。鉴于相同的事实,我需要触发 drl 文件中的所有规则。知道我该怎么做吗?
【问题讨论】:
标签: drools
是的,您只需要使用这三个文件创建一个知识库。 对每个文件使用 kbuilder.add(),然后基于该知识库创建会话。
干杯
【讨论】:
将 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());
希望对你有帮助,
【讨论】: