Fork me on GitHub

小L 的个人博客

生活虽不能自由,但愿心能自由。

  menu
10 文章
0 评论
17075 浏览
0 当前访客
ღゝ◡╹)ノ❤️
生活虽不能自由,但愿心能自由

Structural of Activiti 6.x

1. Sub-Process

子流程是一个包含其他活动,网关,事件等的活动,这些活动本身构成了一个更大流程的一部分。子流程为事件创建新范围, 在执行子流程期间抛出的事件可以被子流程边界上的边界事件捕获,从而为该事件创建仅限于子流程的范围。
注意:使用子流程,只能有一个无启动事件,不允许其他启动事件类型。子流程必须至少有一个结束事件。

2. Event Sub-Process

事件子流程是由事件触发的子流程。可以在流程级别或任何子流程级别添加事件子流程。事件子流程不支持none start events。可以使用诸如消息事件,错误事件,信号事件,定时器事件或补偿事件之类的事件来触发事件子过程。在创建事件子流程范围时,将创建对启动事件的订阅,范围被销毁时删除订阅。事件子流程不得具有任何传入或传出的序列流。

Activiti仅支持中断事件子流程。
Activiti仅支持使用错误启动事件或消息启动事件触发的事件子流程。

例图:
image.png

3. Transaction subprocess

事务子流程是内嵌子流程,可以用来把多个流程放到一个事务里。 事务是一个逻辑单元,可以把一些单独的节点放在一起,这样它们就可以一起成功或一起失败。
事务可以有三种可能的结果:

  • 事务成功,如果没有取消也没有因为问题终结。如果事务子流程是成功的, 就会使用外出顺序流继续执行。 如果流程后来抛出了一个补偿事件,成功的事务可能被补偿。 注意:和普通内嵌子流程一样,事务可能在成功后, 使用中间补偿事件进行补偿。
  • 事务取消,如果流程到达取消结束事件。这时,所有流程都会终结和删除。触发补偿的一个单独的流程,会通过取消边界事件继续执行。 在补偿完成之后,事务子流程会使用取消边界事务的外出顺序流向下执行。
  • 事务被问题结束,如果跑出了一个错误事件, 而且没有在事务子流程中捕获。(如果错误被事务子流程的边界事件处理了,也会这样应用。) 这时,不会执行补偿。

4. Call activity

调用活动可以引用流程定义外部的流程, 调用活动的主要用例可以从复用其它流程的定义。当进程执行到达调用活动时,将创建一个新执行,该执行是到达调用活动的执行的子执行,待执行完子进程后,继续原有进程。子流程和主流程具有隔离性,在子流程中设置的变量无法在主流程中使用。

生活虽不能自由,但愿心能自由。
评论