动态规则,是做规则引擎最想知道的问题,小编也加过一些群,大部分的人都喜欢问这样的问题。
规则只能写在文件里嘛
规则引擎能做什么
规则可动态配置嘛
在项目中使用规则引擎,业务人员怎么用呢?
规则变化了怎样才能不重启项目就能用呢
......总是一脸懵逼的在研究着...
小编今天就给大家分析说明一下:
首先规则可以写法有很多,像规则决策表就是写在Excel中的,规则文件,重点是还可以以字符串的方式编写,聪明的读者是不是有写到什么了?
问题1:规则只能写在文件里嘛?
回答:那肯定是不会的。如何证明呢:请看如下代码:
@Test
public void ruleDaseTestString() throws Exception {
KieHelper helper = new KieHelper();
helper.addContent(myRule, ResourceType.DRL);
KieSession ksession = helper.build().newKieSession();
int i = ksession.fireAllRules();
ksession.dispose();
}
问题二:规则引擎能做什么?
回答:规则引擎有强大的业务代码分离功能,对项目中,不变的业务,可变的业务,经常变化的业务进行统一管理。
问题三:规则可动态配置嘛
回答:答案很明显,我们可以通过以下7种方式对规则进行编辑进行动态变化
拼接规则语法,形成完成的规则内容,通过string方式调用规则
通过模板方式对规则进行修改
workbench自动扫描
workbench整合kie-server
通过执行规则文件执行规则
动态创建kjar
官方提供的方式
问题四:在项目中使用规则引擎,业务人员怎么用呢?
回答:看完前三个问题,我们大致有一个方向了,但总结起来就两大类:
通过Drools自带的workbench
通过拼接字符串方式实现页面的定制化。
动态规则核心是变化规则库中的规则,那什么是规则库呢,小编下次带着您一块解读Drools规则库的内部。前四个问题小编大致说明了一下,相信第五个问题读者已然明了,小编就不多说了
有的读者就会问小编了。动态规则实现有两大类,实现方式大致有7种,那这7种都有什么呢,小编你不给说说啊,哈哈, 那小编就来简单的说一说呗:
方式1:通过string方式调用规则
在回答问题1时,小编已经将这种方式的代码写到上面了
方式2:通过规则模板
方式3:workbench自动扫描
方式4:workbench整合kie-server
方式5:通过执行规则文件执行规则
方式6与方式7内容比较多,下次再与大家分享
----请看下方↓↓↓↓↓↓↓
百度搜索 Drools从入门到精通:可下载开源全套Drools教程
深度Drools教程不段更新中:
更多Drools实战陆续发布中………
领取专属 10元无门槛券
私享最新 技术干货