0

我使用 Drools 开发 Web 应用程序。我所有的流口水文件都存储到数据库中。修改一些规则后,我必须创建新的知识库并添加我从规则创建的包。我如何只更新我需要的知识库中的那些包,因为重新生成所有知识库非常耗时;例如,我进行下一步;

用户编辑规则并按下应用按钮。之后我做了一些事情:

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newReaderResource(Reader, getClass()),ResourceType.DRL); 知识库 kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());

我将规则脚本如何在数据库中存储文本并使用 Reader 在 KnowledgeBuilder 中添加包。我从这里获取规则数据库格式 http://docs.codehaus.org/display/DROOLS/Loading+and+managing+rules+dynamically+from +a+数据库

我试图从知识库中按名称删除包并再次添加但不成功。我必须做什么来更新我的知识库。我不能每次用户编辑和保存规则时都创建新的知识库,我必须做一些动作来更新知识库的某些部分,让我这样说。

请帮忙。

4

2 回答 2

0

您是否阅读了 drools 文档中的知识代理?据我所知,该组件包含将新更改合并到现有知识库中的逻辑。干杯

于 2012-04-11T15:32:04.630 回答
0

我阅读了仅与 changeset.xml 配置和扫描资源一起使用的知识代理,它在 changeset.xml 中定义

于 2012-04-11T15:40:24.990 回答