决策节点

​ 决策节点就是指在运行时根据为其下流出连接配置的条件来决定究竟应该走哪条连接的节点,所以根据这一特性,决策节点下流出连接至少要有两条,否则决策节点就没有意义了。

​ 选中决策节点,在其右边属性面板中就可以看到针对决策节点的配置,如下图所示:

​ 需要重点介绍的是“决策类型”属性,决策节点的有两种决策类型,分别是"条件"和"百分比"。

​ 当选择决策类型为条件时,就会看到如上图所示效果。选择“条件”类型时,在下面出现的在决策项当中,可以根据当前决策节点下流出连接的数量添加对应的决策项,对于每条决策项,都有两个属性,分别是"条件脚本"和“流向”,在条件列当中,我们可以编写具体的条件,在流向列中选择当条件列中定义的条件满足时要流出连线名称,所以对于决策节点下流出的连线,我们必须要为其设置名称,否则就无法为其定义决策项。

为连线定义名称,需要首先用拖选的方式选中它,然后就可以在属性面板上为其定义名称。

​ 在条件表格中,点击条件编辑按钮,就会弹出条件编辑窗口,在这个窗口里,可以为流转到该条路径定义条件。

​ 如果将决策类型改为“百分比”,则可以看到如下图所示效果:

​ 如上图所示,一旦将决策类型改为“百分比”,那么就可以为每个流向设置流量百分比,如上图当中,在实际规则流运行时,将有30%走"c1"连线,70%走"c0"连线。配置时无论决策节点下有多少离开连线,最终所有的百分比加在一起要达到100%, 百分比这里一定要是一个合法的整数,否则会出现错误。

​ 百分比模式下还有一个名为“作用范围”的选项,默认值为“批处理”,表示“百分比”类型的计算有效期为当前线程,一旦有新线程开启,那么这个百分比的值将开始重新计算;如果将“作用范围”改为“每次调用”,那么生效就不再局限于当前线程,每次调用在经过这个决策节点时都会根据百分比进行分流计算。

​ 值得注意的时,当选择决策类型为“条件”,在运行时,当决策流流转到当前节点时,如果决策项中定义的各个条件都不满足,那么规则流到此就结束了,相反,如果有多个决策项满足时,那么系统将取第一条满足条件的决策项对应的流向连线进行向下流转,而不会选择所有满足条件的连线向下流转。

需要注意的是,百分比类型的“批处理”作用范围下决策方式,必须要在代码中通过批处理的方式执行才会生效,必须要使用后面章节里介绍的BatchSession来一次性处理一批数据,或者一个KnowledgeSession一次性处理一批数据,否则规则流永远都只会走默认的百分比占比最高的那条路径。 当然如果百分比类型的作用范围改为“每次调用”,那么规则的每次调用都会根据百分比来计算分流。

​ 决策节点出入连接线下如下表所示:

流入的连接线 流出的连接线
1~n 1~n

results matching ""

    No results matching ""