版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Guvnor规则管理及规则平台思路以下均以guvnor-distribution-5.4.0.Final.zip为例。 1.规则DRL文件结构Drools规则一个典型的DRL文件的结构如下: package com.sample /包名 import java.util.Date; import com.sample.domain.Message; /引入外部类import com.sample.domain.Address;/声明一个Country类型Factdeclare CountrycountryName : StringcountryCode : StringcreateDate :
2、 java.util.Dateend global java.util.List myGlobalList/全局变量function String changeAddressName(Address address,String newAddress) /定义函数 address.setAddressName(newAddress); return newAddress; rule "Hello World"no-loop truesalience 10 when m : Message( status = Message.HELLO, myMessage : messag
3、e ) a : Address ( $cnum : cnum > 10 ) co : Country ( countryCode = "086" ) then changeAddressName(a,"上海路150号"); /调用函数 co.setCountryName("China"); System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); myGloba
4、lList.add("global3"); update( m ); endrule "GoodBye" when Message( status = Message.GOODBYE, myMessage : message ) then System.out.println( myMessage );End 2.规则包的创建有以下两种方式来创建:源码为:3.外部引入类的设置在外部编写好Message和Address类,如下:将两个类打包成jar包。在guvnor中的com.sample中创建”上传POJO Model jar”上图选择,先前的导出的he
5、llo.jar,完成后,如下图:在com.sample的编辑可以看到,有两个类已经导入了:4.Declare类的创建在guvnor中点”新建声明性模型”,如下图:在上图中选择相应的包。OK点击 Add new fact type输入名称,如下图:在此可以增加字段或元数据。增加Country的属性,如下:完成后,查看”源代码”如下图:5.全局变量的创建在guvnor中点击”全局变量”的”+”号,进行增加全局变量,如下:进行定义全局变量:定义完成后如下:此时点击查看 ”源代码”如下图:6.函数的创建在guvnor中新建,如下图:点OK后,出现一个新的函数编辑器,如下:在上面输入函数代码,
6、如下图:在com.sample的主界面如下:可以看到增加了一个名称changeAddressName的函数,状态为draft发布中。现在查看”源代码”则显示,如下图:7.规则的创建创建完成后,出现属性页面,如下:点击”编辑”窗口,如下:上图蓝色框是用来新增此RULE的匹配条件的LHS,而红色框是用来新增规则的处理RHS。而(show options)点击后可以选择此RULE的相关属性。点击“源代码”如下图:7.1规则的属性创建点击“show options”进行此规则的属性设置,如下图:选择相应的规则运行属性,完成后如下图,设置相应的值。点击”源代码”可以看到如下图:现在在com.sample
7、主界面,可以看到已经创建了一个规则,如下图:7.2规则的LHS(when)条件元素创建在规则的编辑界面,点击when右边的”+”,如下图:来增加相关的when条件,如下图:上图红色框是先前已经定义或从外部引入的类pojo模型。在此进行变量和条件的设置,如下图:上图点击”message”为此字段绑定变量。完成后如下:当然也可以增加自由的”自由格式的drl”,进行条件的编写,如下图:在继续增加其他的LHS,如下:点击红色框的”+”7.3规则的RHS(then)执行创建在THEN右边”+”点击来创建THEN执行语句,如下图:如上图,如果要手工编写代码就选择”添加自由格式的drl”则会出现一个代码输入
8、框来输入代码。如下图:当然这是一种简便的方法。下面来使用可视化的操作,在弹出的选择对象框中如下:上图可以看到在LHS中定义的变量全部出来了。也都可进行相应的选择。现在我们是调用changeAddressName函数如下:这边没有直接调用的选项,所以选择”添加自由格式的drl”,如下图:现在进行co.setCountryName("China");设置仿照上面的操作。完成后如下图:此时”源代码”如下图:完成后如下图:最后设置update( m );完成后,如下图:此时”源代码”如下:现在看一下com.sample的源代码,如下:8.规则的测试场景创建点击”新建测试场景”菜单,创建一个测试场景,如下图:继续设置运行的fact的值,如下图:完成后如下图:点击”运行测试场景”来运行测试场景,如下图:可以看到后台的tomcat控制台显示了以上信息, 同时可以看到上图有2个规划被激活。9.外部程序调用规则规则定义好,就可以在com.sample的编辑tab页,看到如下,红色的框,有若干url运用客户端,调用http:/localh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025徽商银行成都分行社会招聘备考题库带答案详解(完整版)
- 2025宁波海曙区总工会公开招聘工会社会工作者2人备考题库及参考答案详解
- 安徽省农村信用社联合社2026年校园招聘备考题库及答案详解(夺冠)
- 2025山东济南市工会社会工作专业人才联合招聘47人备考题库及答案详解一套
- 2025年交通目标控制真题及答案
- 2026秋季浙江杭州银行杭州地区直属支行校园招聘备考题库完整参考答案详解
- 2025兴业银行昆明分行社会招聘备考题库含答案详解(巩固)
- 2026中国民生银行南京分行全球校园招聘备考题库含答案详解(预热题)
- 社会b类考试题及答案解析
- 少儿编程java面试题目及答案
- 2025年水务局招聘笔试考试试题及答案
- 储能电站项目质量控制与检验方案
- 北京市东城区2024-2025学年八年级上学期期末考试英语试题
- 贷款金融普及知识培训课件
- 农业种植合作与利润分享合同
- 科研投入科研管理办法
- 设备异常停机管理办法
- 经典资料:2025中国大学生就业调查报告
- 2024CSCO恶性肿瘤患者营养治疗指南解读课件
- 胸外科常用药物临床规范
- 铁路设备维护成本评估报告
评论
0/150
提交评论