博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Drools workbench
阅读量:7103 次
发布时间:2019-06-28

本文共 1473 字,大约阅读时间需要 4 分钟。

Drools的目的?

drools 编写规则的目的就是 为了 把复杂的,容易变动的业务逻辑和 不容变动的数据分开,为了实现可以随时灵活的改动业务逻辑而不用重新部署启动项目,为了以后的开发人员和产品人员可以更好的理解复杂的业务逻辑。

Drools workbench的作用

我们首先学习一些基本的drools语法,写出了一些规则文件,也可以正常的运行,那么这个workbench到底有什么用呢?不可能希望业务人员去开发工具里写规则,那么这就是个平台,6.4后叫 business center, 可以在上面对规则CRUD 高级规则模式:决策表 规则流,JBPM规则定义 部署规则包定义

分工

drools workbench组织业务逻辑,所有的规则都放在drools workbench中编写,管理;

代码中来整合数据,执行drools workbench中的规则。

合作

分工后是如何通信的?

1. 首先drools workbench中要写业务规则,那就需要实体类,否则就没有写业务的对象了。   做法:把ofbiz.jar 导入到workbench 的仓库中作为资源,在项目中引用。如果有更新,重新导入,填写一样的groupId,artifactId,version 会覆盖之前上传的。项目不用重新构建。2. 第二,在代码中,如何执行规则,并且执行到的永远是最新的。   新建项目的时候,版本填写为1.0-SNAPSHOT形式,这样,每次build会生成新的文件,形式为 AllotCustomer-1.0-20170727.024026-1.jar;   通过访问 workbench中的发布资源,就可以访问到最新的资源   String url = "https://localhost:8443/drools-wb/maven2/"+groupId.replace(".", "/")+"/"+artifactId+"/"+version+"/"+artifactId+"-"+version+".jar"; 复制代码

代码 详情见工具类 KnowledgeSessionHelper    在drools模块里写了工具类来获取KieContainer 和kieSession, kieContainer 是用来从classpath中读取文件结构的,kieSession是 运行时的上下文    KnowledgeSessionHelper 里 createRuleBase 方法,获取 kieContainer	    KnowledgeSessionHelper 里 getStatefulKnowledgeSesssion 方法 ,获取kieSession复制代码

规则的执行

![1](F:/xkl/Downloads/drools使用 – Customer Engagement Center_files/1.png)

如何组合些的多个规则呢

  1. 级别salience 越高,越先执行。

  2. 规则流

需要注意的

1.规则不可以做间接的修改,Message中有partyInfos ,你要是改里面的partyInfo里的值,不会成功。

2.在操作中修改了条件中值,要注意下次判断是否准确。

3.操作中修改了一个fact的值之后,如果修改的值出现在了条件中,再次满足,会再次循环,可以加上属性用no-loop true 不允许多次执行

转载于:https://juejin.im/post/5c6f9ff9f265da2de7134f13

你可能感兴趣的文章
[MySQL]-->查询5天之内过生日的同事中的闰年2月29日问题的解决过程
查看>>
系统基础之用户管理作业题
查看>>
CentOS系统安装中文man手册
查看>>
Windows Server 2012活动目录域服务部署
查看>>
检测sshd端口误封脚本
查看>>
ps查询进程
查看>>
Linux两块磁盘挂载指向一个文件夹LVM磁盘管理(三)
查看>>
使用消息队列的 10 个理由
查看>>
WSUS服务器的详细配置和部署
查看>>
Python.Unix和Linux系统管理指--第二章(读书笔记)
查看>>
【XP配置××× 及 经常遇到的问题(二)】
查看>>
海量存储之十七–一致性和高可用专题
查看>>
Red Hat Linux 安装及服务控制
查看>>
备份利器Rsync应用详解
查看>>
undefined reference to `libiconv_open 无法编译PHP
查看>>
用MDT 2012为企业部署windows 7(八)--部署windows 7旗舰版(光盘版,非模板部署)...
查看>>
Linux 系统性能诊断命令top vmstat ps
查看>>
document页面宽高度计算
查看>>
安装BigBlueButton(视频教室)
查看>>
蓝头网络 - lantCMS系统怀念ACCESS版
查看>>