分享好友 最新动态首页 最新动态分类 切换频道
规则引擎Drools使用,0基础入门规则引擎Drools(四)WorkBench控制台
2024-12-28 13:51



文章目录

  • 系列文章索引
  • 八、WorkBench简介与安装
  • 1、WorkBench简介
  • 2、安装
  • 九、WorkBench使用方式
  • 1、创建空间
  • 2、创建项目
  • 3、创建数据对象
  • 4、创建DRL规则文件
  • 5、创建测试场景
  • 6、设置KieBase和KieSession
  • 7、编译、构建、部署
  • 8、在项目中使用部署的规则


WorkBench是KIE组件中的元素,也称为KIE-WB,是Drools-WB与JBPM-WB的结合体。它是一个可视化的规则编辑器。WorkBench其实就是一个war包,安装到tomcat中就可以运行。使用WorkBench可以在浏览器中创建数据对象、创建规则文件、创建测试场景并将规则部署到maven仓库供其他应用使用。

下载地址:

注意:下载的war包需要安装到tomcat8中。

软件安装时经常会涉及到软件版本兼容性的问题,所以需要明确各个软件的使用版本。

本课程使用的软件环境如下:

操作系统:Windows 10 64位
JDK版本:1.8
maven版本:3.5.4
Tomcat版本:8.5
具体安装步骤:

第一步:配置Tomcat的环境变量CATALINA_HOME,对应的值为Tomcat安装目录

第二步:在Tomcat的bin目录下创建setenv.bat文件,内容如下:

第三步:将下载的WorkBench的war包改名为kie-drools-wb.war并复制到Tomcat的webapps目录下

第四步:修改Tomcat下conf/tomcat-users.xml文件

第五步:下载以下三个jar包并复制到Tomcat的lib目录下

第六步:修改Tomcat的conf/server.xml文件,添加Valve标签,内容为:

第七步:双击startup.bat,启动Tomcat并访问http://localhost:8080/kie-drools-wb,可以看到WorkBench的登录页面。使用前面在tomcat-users.xml文件中定义的用户进行登录即可(kie/kie)


登录成功后进入系统首页:

注!本节用到的资料如下:

第一步:登录WorkBench后进行系统首页,点击首页中的Design区域进入项目列表页面:


如果是第一次登录还没有创建项目则无法看到项目

第二步:点击左上角Spaces导航链接进入空间列表页面



第三步:点击右上角Add Space按钮弹出创建添加空间窗口

录入空间名称,点击Save按钮则完成空间的创建,如下图(不能用大写!):

前面已经提到,我们在WorkBench中需要先创建空间,在空间中才能创建项目。上面我们已经创建了一个空间my_drools,现在需要往此空间中创建项目。

第一步:点击my_drools空间,进入此空间

可以看到当前空间中还没有项目

第二步:点击Add Project按钮弹出添加项目窗口

第三步:在添加项目窗口中录入项目名称(例如项目名称为pro1),点击Add按钮完成操作


可以看到在完成项目创建后,系统直接跳转到了项目页面。要查看当前空间中的所有项目,可以点击左上角my_drools链接:

数据对象其实就是JavaBean,一般都是在drl规则文件中使用进行规则匹配。

第一步:在my_drools空间中点击pro1项目,进入此项目页面

第二步:点击Create New Asset按钮选择“数据对象”


第三步:在弹出的创建数据对象窗口中输入数据对象的名称,点击确定按钮完成操作

操作完成后可以看到如下:

第四步:点击“添加字段”按钮弹出新建字段窗口

第五步:在新建字段窗口中录入字段Id(其实就是属性名),选择类型,点击创建按钮完成操作


完成操作后可以看到刚才创建的字段:


可以点击添加字段按钮继续创建其他字段:


注意添加完字段后需要点击右上角保存按钮完成保存操作:



点击源代码按钮可以查看刚才创建的Person对象源码:

点击左上角pro1项目链接,可以看到当前pro1项目中已经创建的各种类型的对象:

第一步:在pro1项目页面点击右上角Create New Asset按钮,选择“DRL文件”,弹出创建DRL文件窗口


第二步:在添加DRL文件窗口录入DRL文件名称,点击确定按钮完成操作

第三步:上面点击确定按钮完成创建DRL文件后,页面会跳转到编辑DRL文件页面

可以看到DRL规则文件页面分为两个部分:左侧为项目浏览视图、右侧为编辑区域,需要注意的是左侧默认展示的不是项目浏览视图,需要点击上面设置按钮,选择“资料库视图”和“显示为文件夹”,如下图所示:

第四步:在编辑DRL文件页面右侧区域进行DRL文件的编写,点击右上角保存按钮完成保存操作,点击检验按钮进行规则文件语法检查

点击左上角pro1项目回到项目页面,可以看到此项目下已经存在两个对象,即person.drl规则文件和Person类:

前面我们已经创建了Person数据对象和person规则文件,现在我们需要测试一下规则文件中的规则,可以通过创建测试场景来进行测试。

第一步:在项目页面点击Create New Asset按钮选择“测试场景”,弹出创建测试场景窗口


第二步:在弹出的创建测试场景窗口中录入测试场景的名称,点击确定完成操作

完成测试场景的创建后,页面会跳转到测试场景编辑页面,如下图:


第三步:因为我们编写的规则文件中需要从工作内存中获取Person对象进行规则匹配,所以在测试场景中需要准备Person对象给工作内存,点击“GIVEN”按钮弹出新建数据录入窗口,选择Person类,输入框中输入事实名称(名称任意),如下图


第四步:录入事实名称后点击后面的添加按钮,可以看到Person对象已经添加成功


第五步:我们给工作内存提供的Person对象还需要设置age属性的值,点击“添加字段”按钮弹出窗口,选择age属性


点击确定按钮后可以看到字段已经添加成功:

第六步:点击age属性后面的编辑按钮,弹出字段值窗口


第七步:在弹出的窗口中点击字面值按钮,重新回到测试场景页面,可以看到age后面出现输入框,可以为age属性设置值



设置好age属性的值后点击保存按钮保存测试场景

第八步:点击右上角“运行测试场景”按钮进行测试


测试成功后可以查看WorkBench部署的Tomcat控制台:

第一步:在pro1项目页面点击右上角Settings按钮进入设置页面

第二步:在设置页面选择“知识库和会话”选项

第三步:在弹出的知识库和会话页面点击“添加”按钮进行设置



第四步:设置完成后点击右上角保存按钮完成设置操作,可以通过左侧浏览视图点击kmodule.xml,查看文件内容


前面我们已经在WorkBench中创建了一个空间my_drools,并且在此空间中创建了一个项目pro1,在此项目中创建了数据文件、规则文件和测试场景,如下图:

点击右上角“Compile”按钮可以对项目进行编译,点击“Bulid&Deploy”按钮进行构建和部署。

部署成功后可以在本地maven仓库中看到当前项目已经被打成jar包:

将上面的jar包进行解压,可以看到我们创建的数据对象Person和规则文件person以及kmodule.xml都已经打到jar包中了。

前面我们已经在WorkBench中创建了pro1项目,并且在pro1项目中创建了数据文件、规则文件等。最后我们将此项目打成jar包部署到了maven仓库中。本小节就需要在外部项目中使用我们定义的规则。

第一步:在IDEA中创建一个maven项目并在pom.xml文件中导入相关坐标

第二步:在项目中创建一个数据对象Person,需要和WorkBench中创建的Person包名、类名完全相同,属性也需要对应

第三步:编写单元测试,远程加载maven仓库中的jar包最终完成规则调用

执行单元测试可以发现控制台已经输出了相关内容。通过WorkBench修改规则输出内容并发布,再次执行单元测试可以发现控制台输出的内容也发生了变化。

通过上面的案例可以发现,我们在IEDA中开发的项目中并没有编写规则文件,规则文件是我们通过WorkBench开发并安装部署到maven仓库中,我们自己开发的项目只需要远程加载maven仓库中的jar包就可以完成规则的调用。这种开发方式的好处是我们的应用可以和业务规则完全分离,同时通过WorkBench修改规则后我们的应用不需要任何修改就可以加载到最新的规则从而实现规则的动态变更。

最新文章
人大重阳网 王晋斌:“去美元化”的三个维度
作者王晋斌系中国人民大学经济学院副院长,本文转自12月16日北京日报。 当前,“去美元化”已经成为全球热议的话题。理解“去美元化”可能需要多维度的思考。国际货币最终是国际市场选择的结果,主要靠的是货币的国际市场声誉机制;地缘政
小程序appid,微信小程序怎么查看appid
在当今市场经济中,商家们一直在寻求新的、快捷和有效的方式来推广他们的业务。微信小程序是一个非常好的选择。然而,对于一些商家来说,了解如何查看小程序appid是一个重要的问题。在开始之前,我们需要明确什么是小程序appid。小程序appi
苹果、谷歌、微软罕见合作,要让你的浏览器更好用
本文来自微信公众号:爱范儿(ID:ifanr),作者:周宇,题图来自:pixabay前段时间微软宣布放弃支持 IE 浏览器的新闻,唤醒了包括我在内不少朋友的记忆,得益于它的帮助我第一次从不那么清晰的屏幕中看见了精彩的互联网世界。但随着智能手
虚拟直播新变革:AI全方位赋能直播行业发展
近年来,直播行业呈现出爆炸式增长态势,孕育出众多高人气主播及一系列MCN机构与直播公司。然而,这一行业的蓬勃发展也伴随着诸多挑战。一方面,为了维持内容的丰富多样与持续创新,直播行业迫切需求大量的内容创作者与主播资源;另一方面
竞价广告出价模式有哪些?不来了解一下吗 ?
竞价推广有几种出价模式?不同的出价模式又有什么区别?你是否不断地调整关键词出价,却发现效果并没有明显的提升,甚至还浪费了很多的预算?你是否想知道有没有更好的出价方式,可以让竞价推广更加精准、高效、更加省钱?如果你对于竞价推
微信中如何实现点击链接或者扫描二维码跳转到手机默认浏览器打开指定链接URL
大家是不是经常会遇到微信内点击链接或扫描二维码无法打开指定网页的问题?只要你使用微信转发分享,相信你就一定会遇到,那么打不开的原因很简单了,就是被微信拦截了。这个问题我们只需要实现从微信内直接跳出到外部浏览器打开网页链接即
被称为“微博之王”的周钘,能不能拯救MG名爵?
这两天,关于周钘担任上汽乘用车MG名爵品牌事业部总经理这件事情,在网上有着不小的关注度。客观的说,MG名爵虽然是一个传统车企已经有着10多年的历史了。不过因为市场销量一直都是不温不火,无论在燃油车时代还是如今的新能源车时代,MG名
建设充值网站多钱/百度关键词怎么做
TOM VIP邮箱是中国个人商务收费邮箱,因为特色功能丰富,收发邮件稳定,获得了众多小微企业主、自由职业者、在校大学生、外贸跟单员、职场白领、求职者等用户的青睐。下面给大家介绍2个实用小功能~ 数据恢复 TOMVIP邮箱
广州高考7人进入全省前20 最全高分秘笈来了!
  记者通过多方打探和统计了解到,今年广州在高分段收获颇丰。  其中,被披露了分数的文理前20名考生中,广州7人,汕头7人、东莞6人、深圳5人、佛山5人、珠海3人、中山2人、湛江3人、揭阳1人、潮州1人。  而在全省理科前100名,广州
浏览器软件哪个最好用 2024免费浏览器软件排行
2024年浏览器软件市场烽烟再起,哪款免费浏览器能傲视群雄?本文带你探索最新的浏览器排行榜,从速度、安全、功能多面手等维度全面解析,助你找到最适合的上网利器。一探究竟,优质体验触手可及!剪报浏览器是一款快速、安全、稳定的浏览器
相关文章
推荐文章
发表评论
0评