Drools - 我们如何从超过1个.drl文件中解除所有规则

时间:2013-02-06 04:52:41

标签: drools

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

2 个答案:

答案 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());

希望它有所帮助,