业务规则引擎—规则池功能学习

来源:互联网 发布:紧急域名网页升级访问 编辑:程序博客网 时间:2024/05/19 16:34

  在规则开发过程中,往往会遇到某个规则会反复被使用的情况。因此,我们总是希望能通过某种方式调用这些规则,也就是所能实现规则复用。我们知道在“决策树”中,不仅可以实现规则的复用,而且还可设置复用规则执行的条件和复用规则间的条件。但是在“决策池”中,会执行“决策池”里所有的被复用的规则,被复用规则的执行的顺序与规则被引用的先后顺序是一致的。

  我们先创建一个名为“基本工程2”的规则包,该规则包下的规则,作为“决策池”的复用规则。

右键名为“功能解析”的工程,点击“新建规则包”,创建一个名为“基本工程2”规则包。如下图所示:



该规则包中需要在对象库中,需要定义三个“string”类型变量:a(a),b(b),c(c)。如下图所示:


变量“a”“b”“c”都是在“传入数据”中添加的,然后要在规则包对象库的“外部调用”添加两个方法(公式)。按下图描述的添加:


这些方法是规则引擎封装的一些常用方法,可以在“外部调用”添加这些常用方法,然后可以在规则调用。


添加了“字符截取”中“从左截取字符”的方法之后,继续添加方法。如下图所示:


点击了“确认”之后,就在外部调用里添加了两个方法。如下图:


在变量定义完成之后,然后要在规则包中实现具体规则逻辑。右键选择规则包“基本工程2”添加名为“b取值”的规则,添加过程如下所示:



规则添加好了之后,我们要在规则中给变量“b”赋值,赋值过程如下图所示:








确认之后,规则“b赋值”就完成了。我们在规则包“基本工程2”再添加个规则“c取值”,如下图所示:


最后,我们需要在规则中添加规则逻辑,如下图所示:


在规则包编写完成之后,我们要保存该规则包。点击“全部保存”按钮,如下图所示


点击“保存全部”保存之后,规则配置器会自动保存该规则包的rpk文件和生成规则包对应的rsc文件,在消息栏可以看到如下信息:


“基本工程2”规则包完成之后,我们再创建一个名为“决策池”的规则包。在规则包的“决策池”中,将调用“基本工程2”中的规则。

右键工程“功能解析”,选择“新建规则包“,添加个名为“决策池”的规则包。如下图所示: