Solon v3.6.0

flow - 节点类型说明

</> markdown

节点类型(NodeType 枚举成员)

描述执行任务连接条件多线程可流入
连接数
可流出
连接数
备注
start开始///01
activity活动节点(缺省类型)支持//1...n1
inclusive包容网关(类似多选)支持?支持/1...n1...n
exclusive排它网关(类似单选)支持?支持/1...n1...n
parallel并行网关(类似全选)支持?/支持1...n1...n
iterator循环网关支持?//11v3.4.3 后支持
end结束///1...n0

概念:

  • 连接其它节点,称为:“流出连接”。
  • 被其它节点连接,称为:“流入连接”。
  • 一个节点的流经过程:“流入” -> “执行任务” -> “流出”。
  • 每个任务(task),都可以带一个任务触发条件(when)

提醒:

  • 网关的“执行任务”,v3.6.1 后支持

1、start (开始)

一个链,"必须有且只有”一个 start 节点,作为链的入口。之后顺着“连接”流出。

2、activity (活动)

activity 节点,主要用于触发处理任务事件。可以带一个任务触发条件(when)。

  • 流入

无限制性要求。

  • 流出:

单“连接”流出。

3、inclusive (包容网关),相当于多选。要“成对”使用!

inclusive 节点,可以有多个流入连接,或多个流出连接。

  • 流入(也叫汇聚,或栏栅):

(发果前面有 inclusive 流出)会等待所有满足条件的流入连接到齐后(起到聚合作用),才会往后流出。否则,无限制性要求。

  • 流出:

只要满足条件的都可流出,相当于“多选”。如果没有匹配的连接,则使用缺省(没有条件的连接)。

4、exclusive (排它网关),相当于单选

exclusive 节点,只能有一个流出连接。

  • 流入:

无限制性要求。

  • 流出:

只能有一个满足条件的连接可流出,相当于“单选”。如果没有匹配的连接,则使用缺省(没有条件的连接)。

如果有多个满足条件的连接,则按优先级排序,最优先的流出。

5、parallel (并行网关),相当于全选。要“成对”使用!

parallel 节点,可以有多个流入连接,或多个流出连接。

  • 流入(也叫汇聚,或栏栅):

会等待所有流入连接到齐后(起到聚合作用),才会往后流出。

  • 流出:

所有连接都可流出,相当于“全选”。

6、iterator (循环网关)//目前为预览状态(v3.4.3 后支持)

iterator 节点,只能有一个流入连接,或一个流出连接。注意:要“成对”使用。

  • 流入(也叫汇聚,或栏栅),不需要元数据:

会等待遍历结束后(起到聚合作用),才会往后流出。

  • 流出,需要元数据声明:

遍历集合并循环流出。

元数据说明
$for项目变量名(遍历出的项目,将以此名推入上下文),后续节点可使用此变量
$in集合变量名(引擎会通过变量名,从上下文里取变量)

7、end (结束)

end 节点,表示没有流出了,结束了。