Activiti提供两种子流程实现:
1、嵌入子流程
子流程元素
<subProcess>
内嵌在主流程元素<process>之内,只能在该流程中使用该子流程,外部是无法访问到的。这种子流程一般作为局部通用逻辑处理,或者因为特定业务需要,使得比较复杂的单个主流程设计清晰直观;
2、调用子流程
首先实现一个流程,在另一个流程中可以调用该流程,通常可以定义一些通用的流程作为这种调用子流程,供其他多个流程定义复用。这种子流程使用
<callActivity>
元素来进行调用,间接地嵌入到主流程中,用起来比较方便。
下面通过实例来看下两者的实现:
一、嵌入子流程
1、流程图
以下是流程图的xml表示,可以看到主流程中有一段由标签<subprocess>包围的部分即时流程图中的
SubProcess的xml表示: