动态规则,是做规则引擎最想知道的问题,小编也加过一些群,大部分的人都喜欢问这样的问题。

  • 规则只能写在文件里嘛

  • 规则引擎能做什么

  • 规则可动态配置嘛

  • 在项目中使用规则引擎,业务人员怎么用呢?

  • 规则变化了怎样才能不重启项目就能用呢

  • ......总是一脸懵逼的在研究着...

小编今天就给大家分析说明一下:

首先规则可以写法有很多,像规则决策表就是写在Excel中的,规则文件,重点是还可以以字符串的方式编写,聪明的读者是不是有写到什么了?

问题1:规则只能写在文件里嘛?

回答:那肯定是不会的。如何证明呢:请看如下代码:

@Test

public void  ruleDaseTestString() throws Exception {

String myRule = "package rules rule \"Hello World 2\" when eval(true) then System.out.println(\"Test, Drools!\"); end";

System.out.println(myRule);

KieHelper helper = new KieHelper();

helper.addContent(myRule, ResourceType.DRL);

KieSession ksession = helper.build().newKieSession();

int i = ksession.fireAllRules();

ksession.dispose();

}

问题二:规则引擎能做什么?

回答:规则引擎有强大的业务代码分离功能,对项目中,不变的业务,可变的业务,经常变化的业务进行统一管理。

问题三:规则可动态配置嘛

回答:答案很明显,我们可以通过以下7种方式对规则进行编辑进行动态变化

  1. 拼接规则语法,形成完成的规则内容,通过string方式调用规则

  2. 通过模板方式对规则进行修改

  3. workbench自动扫描

  4. workbench整合kie-server

  5. 通过执行规则文件执行规则

  6. 动态创建kjar

  7. 官方提供的方式

问题四:在项目中使用规则引擎,业务人员怎么用呢?

回答:看完前三个问题,我们大致有一个方向了,但总结起来就两大类:

  1. 通过Drools自带的workbench

  2. 通过拼接字符串方式实现页面的定制化。

动态规则核心是变化规则库中的规则,那什么是规则库呢,小编下次带着您一块解读Drools规则库的内部。前四个问题小编大致说明了一下,相信第五个问题读者已然明了,小编就不多说了

有的读者就会问小编了。动态规则实现有两大类,实现方式大致有7种,那这7种都有什么呢,小编你不给说说啊,哈哈, 那小编就来简单的说一说呗:


方式1:通过string方式调用规则

在回答问题1时,小编已经将这种方式的代码写到上面了


方式2:通过规则模板

规则模板


方式3:workbench自动扫描

自动扫描


方式4:workbench整合kie-server

https://blog.csdn.net/u013115157/article/details/52785142

https://blog.csdn.net/u013115157/article/details/52486803


方式5:通过执行规则文件执行规则

https://blog.csdn.net/u013115157/article/details/52487001


方式6与方式7内容比较多


----请看下方↓↓↓↓↓↓↓

百度搜索 Drools从入门到精通:可下载开源全套Drools教程

深度Drools教程不段更新中:

更多Drools实战陆续发布中………

微信公众号 ↓↓↓↓↓↓↓↓↓↓

Drools动态规则相关推荐

  1. flink+drools动态规则示例之温度跳变告警

    flink+drools动态规则示例之温度跳变告警 package com.mz.test;import com.google.common.collect.Lists; import lombok. ...

  2. 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)第1篇(项目介绍篇)

    1 整体架构 前言 项目介绍在线视频: https://www.bilibili.com/video/BV1zv41157yY 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flin ...

  3. 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)第2篇(业务介绍篇)

    项目简介 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink.hbase.clickhouse.drools等 项目可根据各类个性化需求进行二次开发后,直接用于实时运营,实时风 ...

  4. 从零构建FLINK整合Drools动态规则实时运营系统(项目案例)-第5篇(用户画像篇)

    前言 项目介绍在线视频: https://www.bilibili.com/video/BV1zv41157yY 本案例是一个专注于flink动态规则计算的项目,核心技术组件涉及flink.hbase ...

  5. drools动态增加、修改、删除规则

    文章目录 1.背景 2.前置知识 1.如何动态构建出一个`kmodule.xml`文件 2.kmodule.xml应该被谁加载 3.我们drl规则内容如何加载 4.动态构建KieContainer 3 ...

  6. Drools动态更新规则

    Drools动态规则加载 Drools简介 动态加载规则 1. 项目依赖 2. 实现 (1) 新增规则 (2) 删除规则 (3) 更新规则 Drools简介 简单说明一下规则动态插拔使用到的Drool ...

  7. EasyRules动态规则实现

    EasyRules动态规则实现 之前写了easyRules的基本使用方法,可以说还是非常方便而且操作也不复杂,个人觉得相较于Drools来说是简便了不少.接下来就需要更深入的了解一下规则的动态使用方法 ...

  8. Flink动态规则实时智能营销系统

    视频地址 简单来说,本系统,核心是一个基于事件驱动且可进行动态规则计算的实时系统: 在技术上,它是通用的:本套架构及系统内核,不仅可以用于"实时运营",也可以用于"实时风 ...

  9. 一文了解分而治之和动态规则算法在前端中的应用

    一文了解分而治之和动态规则算法 一.分而治之 1.分而治之是什么? 2.应用场景 3.场景剖析:归并排序和快速排序 二.动态规则 1.动态规则是什么? 2.应用场景 3.场景剖析:斐波那契数列 4.动 ...

最新文章

  1. JAVA并发之多线程基础(2)
  2. python绘图和可视化_Python 绘图和可视化详细介绍
  3. 计算机技术与软件专业技术资格(水平)考试常见问题
  4. android查看Logcat
  5. 工业用微型计算机笔记(13)-指令系统(8)
  6. Shiro结合redis的统一会话管理:自定义会话管理器
  7. REVERSE-PRACTICE-JarvisOJ-4
  8. 请假一天,回粤西老家买了套房
  9. Docker 学习总结(71)—— Docker、Docker Compose、Docker Swarm 之间的区别
  10. C1 WPF C1FlexGrid设置样式技巧:单元格设置背景色
  11. 读取寄存器值_温湿度传感器与S7-1200 PLC通讯读取温湿度案例
  12. UVA 12299 - RMQ with Shifts 线段树
  13. arcpy_intersectmerge
  14. iOS textView设置一个直角三个圆角边框效果
  15. Matlab矩阵大全
  16. 从IT技术面试官的角度说说技术人的简历
  17. 【CodeVS 1222】信与信封的问题 随机化+treat Hungery
  18. rpc error: code = Unavailable desc = connection error: desc = “transport: Error while dialing readin
  19. 计算机里折叠项无法删除,删除右键多余菜单_如何去除右键菜单中多余选项?...
  20. 权值衰减weight decay的理解

热门文章

  1. IP中的首部长度到底是什么意思
  2. ARM 在Unity3D 中的美术优化解决方案 5.光照
  3. c# datetime与 timeStamp(unix时间戳) 互相转换
  4. CSP-J 2021解题报告
  5. java数据结构-栈
  6. 【自动驾驶】路径规划—— Dubins 曲线推导(基于向量的方法)
  7. vue---百度地图实现定位功能
  8. Clumsy的使用方法
  9. java和python自学教程视频_免费视频教程,2019年最新Java、PYthon、web视频
  10. JavaScript 数组操作大全