这种做法,可以实现当规则修改后不用重新创建KieBase,甚至不重新创建session,规则都会生效。
下面例子drools版本是6.4
@Test
public void test117() throws Exception {String drlStr="package rules;"
         + "\n"
         + "rule \"test\"\n"
         + "when\n"
         + "eval(true)\n"
         + "then \n"
         + " System.out.println(\"----------nihao\");\n"
         + "end";KieHelper helper=new KieHelper();helper.addContent(drlStr,ResourceType.DRL);KnowledgeBaseImpl kieBase =(KnowledgeBaseImpl) helper.build();KieSession session = kieBase.newKieSession();//移除规则
   kieBase.removeRule("rules","test");//重新添加规则
   KnowledgeBuilder kb = KnowledgeBuilderFactory.newKnowledgeBuilder();//装入规则,可以装入多个
   kb.add(ResourceFactory.newByteArrayResource(drlStr.getBytes("utf-8")), ResourceType.DRL);kieBase.addKnowledgePackages(kb.getKnowledgePackages());session.fireAllRules();}
扫码加drools技术交流群

drools动态添加和删除规则(即动态修改KieBase)相关推荐

  1. html表格中添加修改和删除链接,jQuery实现为table表格动态添加或删除tr功能示例...

    本文实例讲述了jQuery实现为table表格动态添加或删除tr功能.分享给大家供大家参考,具体如下: HTML页面元素如下: 订单合同号 捆包号 品名 规格 材质 重量 业务需求是,从后台获取到订单 ...

  2. JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(推荐七)

    前言 学习是有趣的,但有过滤的学习内容就更好,本博主就专门为刚接触javascript客户端编程的朋友提供及分享个人学习经历!建议大家看看:(汤姆大叔的博客) http://www.cnblogs.c ...

  3. 后盾网lavarel视频项目---vue实现动态添加和删除板块

    后盾网lavarel视频项目---vue实现动态添加和删除板块 一.总结 一句话总结: 原理就是:列表时根据vue中的videos变量中的元素来遍历的,初始时videos:[{title:'',pat ...

  4. vue根据索引删除数组中的一个对象_Vue实现动态添加或者删除对象和对象数组的操作方法...

    添加核心代码如下: this.data.push({ type: [{ value: '选项1', label: 'in' }, { value: '选项3', label: 'out' }], va ...

  5. js进阶 9-11 select选项框如何动态添加和删除元素

    js进阶 9-11 select选项框如何动态添加和删除元素 一.总结 一句话总结: 二.js进阶 9-11 select选项框如何动态添加和删除元素 1.案例说明 2.相关知识 Select 下拉列 ...

  6. php动态删除输入框,jQuery实现动态添加和删除input框实例代码

    本文实例为大家分享了jQuery实现动态添加和删除input框的具体代码,供大家参考,具体内容如下 选项 $(function(){ // 添加选项 $("#opbtn").cli ...

  7. ViewPager+Fragment实现TabHost,Fragment动态添加、删除,Tab选项卡跟随滑动

    效果图: 代码功能: (1)用ViewPager+Fragment实现TabHost,ViewPager的每一个Page均是Fragment.ViewPager中的Fragment可以动态添加.删除. ...

  8. layui 表单动态添加、删除input框

    html部分 <div class="layui-form-item" ><label class="layui-form-label"> ...

  9. JavaScript学习笔记:动态添加与删除表格行

    文章目录 一.添加表格行与单元格 二.动态删除表格行与单元格 三.案例演示1 四.案例演示2 一.添加表格行与单元格 Javascript可以控制table,动态的插入行和单元格.rows保存着< ...

最新文章

  1. 如何将非官方扩展程序加入chrome的白名单
  2. My Linux 让人高兴的新进展(博客搬家 2007-07-14 13:05)
  3. AES加密 — 详解
  4. sklearn的KNN文档中实例代码的注释
  5. firefox flash插件_巧用firefox下载视频资源
  6. 携号转网将于明年在全国范围内实施
  7. NumPy Essentials 带注释源码 五、NumPy 中的线性代数
  8. 小米申请雷军签名商标获批
  9. LeetCode--032--最长有效括号(java)
  10. 【转】如何查找MySQL中慢查询的SQL语句
  11. Java软件开发流程
  12. python pytz_python pytz是什么
  13. html怎么置顶导航栏,css怎么实现滚动页面导航栏固定在顶部
  14. svm神经网络葡萄酒matlab,【转载】SVM的数据分类预测----意大利葡萄酒种类识别...
  15. Ubuntu18.04 有线网络显示已连接但无法打开网页
  16. Check It Again: Progressive Visual Question Answeringvia Visual Entailment(SAR)
  17. 下载最新的百度地图瓦片
  18. 普通麦克风和多阵列麦克风的区别
  19. 北京第9届.NET俱乐部参与有感
  20. 引导方法深度补全系列—基于SPN模型—1—《Depth estimation via affinity learned with convolutional spatial propagat》文章细读

热门文章

  1. 实验3 MCS-51内部定时/计数器实验(1)
  2. 安装matlab2018a出现两个DVD安装目录,下载DVD1弹出需要DVD2咋解决
  3. 本地连接gitlab远程仓库
  4. 计算机用电安全知识,计算机机房用电安全制度
  5. 使用LaTeX制作海报
  6. 英语词性系列-B02-动词
  7. 视频教程-坦克大战-Java
  8. Android多线程界面更新方法的总结
  9. windows server 2003 如何修改登录密码
  10. python-17-并行计算和分布式计算框架dask