提问者:小点点

重新生成Drools知识库。将drools规则复制到数据库中


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

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

知识生成器kbuilder=知识生成器工厂. new知识生成器();kbuilder.add(ResourceFactory.newReaderResource(Reader,getClass()),ResourceType.DRL);知识基础kbase=知识基础工厂.new知识基础();kbase.addledgePackages(kbuilder.get知识基础包());

我在数据库中存储规则脚本如何文本,并使用阅读器在知识生成器中添加包…我从这里采取规则数据库格式http://docs.codehaus.org/display/DROOLS/Loading并从数据库中动态管理规则

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

请帮帮忙。


共2个答案

匿名用户

你读过drools留档中的知识代理吗?据我所知,该组件包含将新更改合并到现有知识库中的逻辑。干杯

匿名用户

我阅读了仅适用于changeset. xml配置的知识代理和在changeset.xml中定义的扫描资源