0

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

4

2 回答 2

1

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

干杯

于 2013-02-06T10:08:51.680 回答
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());

希望能帮助到你,

于 2013-02-06T10:10:24.067 回答