【发布时间】:2014-07-10 04:22:13
【问题描述】:
我正在将 Drools 规则引擎集成到我的应用程序中。我发现的 99% 的入门示例如下所示:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add( ResourceFactory.newUrlResource( url ),
ResourceType.DRL );
if ( kbuilder.hasErrors() ) {
System.err.println( builder.getErrors().toString() );
}
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages( builder.getKnowledgePackages() );
StatefulKnowledgeSession ksession = knowledgeBase.newStatefulKnowledgeSession();
ksession.insert( new Fibonacci( 10 ) );
ksession.fireAllRules();
ksession.dispose();
我有类似的工作,但我的问题是KnowledgeBase 被标记为已弃用,这对我来说是一个危险信号,我做错了。现在KnowledgeBaseFactory.newKnowledgeBase() 没有被标记为弃用,但它也返回一个KnowledgeBase 类型。
既然知识库已被弃用,那么我应该使用什么?
【问题讨论】:
-
您使用的是哪个版本?自 Drools 6 以来,发生了很多变化,所以这可能是罪魁祸首?
-
@DaDaDom 是 6.0.1.Final。我认为是这种情况,但如果 drools doc(pdf 文件)使用知识库,我无法找到替代方案。