drools的Guvnor规则管理系统使用教程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Guvnor规则管理及规则平台思路

以下均以guvnor-distribution-5.4.0.Final.zip为例。

1.规则DRL文件结构

Drools规则一个典型的DRL文件的结构如下:

○1 package com.sample //包名

import java.util.Date;

○2import com.sample.domain.Message; //引入外部类

import com.sample.domain.Address;

//声明一个Country类型Fact

○3declare Country

countryName : String

countryCode : String

createDate : java.util.Date

end

○4global java.util.List myGlobalList//全局变量

○5function String changeAddressName(Address address,String

newAddress){ //定义函数

address.setAddressName(newAddress);

return newAddress;

}

○6rule"Hello World"

○7no-loop true

salience 10

○8when

m : Message( status == Message.HELLO, myMessage : message ) a : Address ( $cnum : cnum > 10 )

co : Country ( countryCode == "086" )

○9then

changeAddressName(a,"上海路150号"); //调用函数

co.setCountryName("China");

System.out.println( myMessage );

m.setMessage( "Goodbye cruel world" );

m.setStatus( Message.GOODBYE );

myGlobalList.add("global3");

update( m );

end

rule"GoodBye"

when

Message( status == Message.GOODBYE, myMessage : message ) then

System.out.println( myMessage );

End

2.规则包的创建

有以下两种方式来创建:

源码为:

3.外部引入类的设置在外部编写好Message和Address类,如下:

在guvnor中的com.sample中创建”上传POJO Model jar”

上图选择,先前的导出的hello.jar,完成后,如下图:

在com.sample的编辑可以看到,有两个类已经导入了:

4.Declare类的创建在guvnor中点”新建声明性模型”,如下图:

在上图中选择相应的包。OK

点击Add new fact type输入名称,如下图:

在此可以增加字段或元数据。

增加Country的属性,如下:

完成后,查看”源代码”如下图:

5.全局变量的创建

在guvnor中点击”全局变量”的”+”号,进行增加全局变量,如下:

进行定义全局变量:

定义完成后如下:

此时点击查看”源代码”如下图:

6.函数的创建

在guvnor中新建,如下图:

点OK后,出现一个新的函数编辑器,如下:在上面输入函数代码,如下图:

在com.sample的主界面如下:

可以看到增加了一个名称changeAddressName的函数,状态为draft发布中。现在查看”源代码”则显示,如下图:

7.规则的创建

创建完成后,出现属性页面,如下:

点击”编辑”窗口,如下:

上图蓝色框是用来新增此RULE的匹配条件的LHS,而红色框是用来新增规则的处理RHS。而(show options…)点击后可以选择此RULE的相关属性。

点击“源代码”如下图:

7.1规则的属性创建

点击“show options…”进行此规则的属性设置,如下图:

选择相应的规则运行属性,完成后如下图,设置相应的值。

点击”源代码”可以看到如下图:

现在在com.sample主界面,可以看到已经创建了一个规则,如下图:

7.2规则的LHS(when)条件元素创建

在规则的编辑界面,点击when右边的”+”,如下图:

来增加相关的when条件,如下图:

上图红色框是先前已经定义或从外部引入的类pojo模型。

在此进行变量和条件的设置,如下图:

上图点击”message”为此字段绑定变量。完成后如下:

当然也可以增加自由的”自由格式的drl”,进行条件的编写,如下图:

在继续增加其他的LHS,如下:点击红色框的”+”

7.3规则的RHS(then)执行创建

在THEN右边”+”点击来创建THEN执行语句,如下图:

如上图,如果要手工编写代码就选择”添加自由格式的drl”则会出现一个代码输入框来输入代码。如下图:

相关文档
最新文档