深圳Java决策引擎如何调试

时间:2022年08月11日 来源:

决策树又称为规则树,是URule Pro决策引擎中提供的一种构建规则的方式,它以一棵躺倒的树形结构来表现规则(之所以将其躺倒是为了节省空间,否则一棵稍微大点的树将会占用很大的页面空间),决策树表现业务规则更为形象,实际上,无论是决策树、决策表还是评分卡,都可以通过决策集来实现,只是,对于某些业务规则来说,通过决策树或决策表或评分卡实现起来更为形象、快捷。如何在URule Pro决策引擎中创建决策树?打开URule Pro控制台,在测试项目的“决策树”节点下右键,在弹出菜单中选择“创建决策树”项就可以创建一个决策树文件。交叉决策表是URule Pro决策引擎中提供的一种特殊类型的决策表。深圳Java决策引擎如何调试

URule Pro决策引擎动作定义部分:脚本式决策集中普通规则的的动作定义部分写在“then”与“end”之间或者是“else”与“end”之间,循环规则中除了循环体中可在上述两个地方添加动作外,还可以在"loopStart"与“if”之间或"loopEnd"与"end"之间添加动作,动作可有一个或多个,每个动作以“;”或回车结束。可执行的动作有三种类型,那就是为变量或参数赋值、执行方法、执行自定义函数以及控制台内容输出。赋值操作的语法格式如下:变量或参数 = 数字/字符串/变量/参数/方法/常量 [+][-][*][/] 数字/字符串/变量/参数/方法/常量 [+][-][*][/]数字/字符串/变量/参数/方法/常量 ...深圳Java决策引擎如何调试分支节点是URule Pro决策引擎当中提供的一种可实现规则流多条并行的节点。

URule Pro决策引擎动作库文件介绍:动作库文件的作用是对配置在spring中的bean方法进行映射,使得我们可以直接在规则当中调用这些方法。同样在项目的“库”节点下创建一个动作库文件,可以看到动作库文件内容有三列,分别是动作名称,bean的id定义列,方法名定义列,以及方法对应的参数定义列。在动作库定义的时候需要注意,如果我们规则运行方式采用的是客户端服务器模式,那么必须要保证调用知识包的客户端Spring环境里有这个Bean,且Bean的Id要与动作库定义时的Id保证一至,否则调用会出现错误。

URule Pro决策引擎常量库文件介绍:在业务系统开发过程中,常常会用到一个枚举数据,比如用户的性别、学历等,在URule Pro当中,通过定义常量库文件,可以将系统中使用的这些枚举数据映射到规则中使用,这样就可以避免规则定义过程中枚举数据手工输入存在错误的可能性。与变量库文件类似,常量也是由分类和具体的常量值构成,比如性别有男女之分,那么这里的“性别”就属性分类,“男”、“女”就属性具体的常量值。在常量的分类中,“名称”一般定义具体的分类名,“标题”是一段描述(比如“性别”是标题,“gender”是名称),同样这个标题也会出现在规则引用当中;加好分类后就可以添加这个分类下具体的常量值,常量值也有名称和标题之分,名称是具体的常量值,标题则是描述。在URule Pro决策引擎中,要设置决策表的条件,我们必须先为条件列设置好与之绑定的变量或参数。

URule Pro决策引擎参数库文件介绍:在规则的条件判断与计算过程当中,难免会用到一些临时的变量来存储值,这些临时变量数量和类型都可能是不固定的,对于这种类型的临时变量,URule Pro以参数的形式提供,通过参数库就可以定义这些在规则中要使用到的临时变量。在“库”节点上右键创建一个参数库文件,从参数库文件编辑器来看,参数因为没有了分类,配置要为简单许多,参数库在运行时实际上是存储在HashMap当中,这里的“名称”的值将作为Map的key,“标题”则用在规则中显示使用,定义参数库时要保证“名称”属性的独特性,因为它是Map的key值;同时如果一个规则文件里引入多个参数库文件,那么每个参数库文件里定义的参数的名称值也要独特,否则就会存在相互覆盖的情况。在URule Pro当中,对于参数库中定义的值,规则运行时,如果外部没有对这些参数进行初始化,那么引擎会自动为部分没有初始化的参数进行初始化。URule Pro决策引擎中的脚本式决策集可以导入变量库、常量库、参数库以及动作库。深圳Java决策引擎如何调试

在URule Pro决策引擎中一个普通规则当中,else部分如果没有动作可定义,是可以省略不写的。深圳Java决策引擎如何调试

URule Pro决策引擎决策表:在决策表当中,需要我们导入需要使用的变量库、参数库、常量库及动作库。和规则集中的规则一样,可以为决策表添加若干属性,但不同的是决策表中可添加的属性只有五个,其含义和作用与决策集中的规则相同。一旦为决策表定义了属性,那么这些属性将会被应用到决策表中定义的每个规则上。实际使用当中,我们可能会将若干个决策表或若干个决策表与若干个决策集放在一个知识包中使用,这个时候如果没有使用决策流来对它们的执行顺序进行编排的话,那么优先级属性的作用就显现出来,通过定义优先级属性,可以实现若干个决策表文件与若干个决策集文件放在一个知识包中执行顺序的编排,也就是优先级的值越大,执行越靠前。深圳Java决策引擎如何调试

上海锐道信息技术有限公司是一家有着雄厚实力背景、信誉可靠、励精图治、展望未来、有梦想有目标,有组织有体系的公司,坚持于带领员工在未来的道路上大放光明,携手共画蓝图,在上海市等地区的数码、电脑行业中积累了大批忠诚的客户粉丝源,也收获了良好的用户口碑,为公司的发展奠定的良好的行业基础,也希望未来公司能成为*****,努力为行业领域的发展奉献出自己的一份力量,我们相信精益求精的工作态度和不断的完善创新理念以及自强不息,斗志昂扬的的企业精神将**和您一起携手步入辉煌,共创佳绩,一直以来,公司贯彻执行科学管理、创新发展、诚实守信的方针,员工精诚努力,协同奋取,以品质、服务来赢得市场,我们一直在路上!

热门标签
信息来源于互联网 本站不为信息真实性负责