我有3个.drl文件,每个文件有3个规则。鉴于相同的事实,我需要在drl文件中触发所有规则。知道我怎么能这样做吗?
答案 0 :(得分:1)
是的,您只需要使用这三个文件创建一个知识库。 对每个文件使用kbuilder.add(),然后根据该知识库创建会话。
干杯
答案 1 :(得分:1)
将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());
希望它有所帮助,