Camunda 入门开发指南 - 2.2 BPMN2.0介绍 - 事件

目录

事件类型

事件分类

Catching events 捕获事件

Throwing events 抛出事件

Boundary events 边界事件

开始事件

中间事件

结束事件

空白事件

空白开始事件

空白结束事件

空白中间事件

消息事件 

消息开始事件

消息中间事件 & 消息边界事件

消息结束事件

计时器事件

错误事件

升级事件

升级开始事件

升级边界事件

升级中间事件

升级结束事件

信号事件

取消和补偿事件

取消结束事件

取消边界事件

中间抛出事件

补偿开始事件

条件事件

触发条件事件

链接事件

终止事件


事件类型

 

事件分类

 

Catching events 捕获事件

Throwing events 抛出事件

Boundary events 边界事件

开始事件

  • 至少有一个开始事件
  • 最多一个空白事件或者定时器事件
  • 可以由多个消息事件或信号事件

中间事件

结束事件

空白事件

空白开始事件

  • 流程实例未指定触发器;
  • 通过API调用startProcessInstanceByKey("")启动流程实例;

 

空白结束事件

  • 不执行任何操作

空白中间事件

  • 抛出事件
  • 通过添加监听器,查看实例状态

消息事件 

消息开始事件

 

消息中间事件 & 消息边界事件

消息中间捕获事件、消息中间抛出事件

消息边界中断事件、消息边界非中断事件

  • 中断边界事件:活动中断,并遵循事件传出的序列流。
  • 非中断边界事件:一个令牌保留在活动中,并创建一个附加令牌,该令牌遵循事件传出的序列流。

 

 

消息结束事件

  • 结束当前的执行路径并发送消息

计时器事件

可以用作启动事件、中间事件或边界事件。边界事件可以中断,也可以不中断。

 

错误事件

 

错误启动事件

  • 只能用于触发事件子流程,而不能用于启动流程实例。错误启动事件始终处于中断状态。

错误边界事件

  • 匹配的中间错误边界事件捕获
  • 错误可由事件子进程中的错误启动事件处理

升级事件

 

升级开始事件

  • 升级启动事件只能用于触发事件子流程,而不能用于启动流程实例。

 

 

升级边界事件

  • 升级边界事件只能附加到嵌入式子流程或调用活动上
  • 升级只能由升级中间抛出事件或升级结束事件引发。
  • 当边界事件由来自调用活动的升级事件触发时,调用活动的已定义输出变量将传递到边界事件的作用域。

 

升级中间事件

 

升级结束事件

信号事件

 

  • 信号是全局范围的事件(广播语义),并传递到所有活动的处理程序。

取消和补偿事件

取消结束事件

取消边界事件

  • 在取消事务时,将触发事务子进程边界上附加的中间捕获取消事件

中间抛出事件

  • 中间抛掷补偿事件可用于触发补偿。
  • 只有在抛出补偿时子流程成功完成时,补偿才会传播到子流程。

 

 

补偿开始事件

  • 补偿启动事件只能用于触发事件子流程 , 它不能用于启动流程实例。

条件事件

  • 条件事件定义一个事件,如果给定条件被计算为 true,则触发该事件
  • 可以用作事件子进程的开始事件
  • 可以用作中间事件和边界事件
  • 开始和边界事件可以是中断的,也可以是非中断的。

 

 

 

触发条件事件

  • 在作用域实例化时触发
  • 外部变量设置触发
    runtimeService.setVariable(processInstance.getId(), "variable", 1);
  • 委派代码设置触发(变量更改不会立即触发条件事件)
public class SetVariableDelegate implements JavaDelegate {​​​​​​​
  @Override
  public void execute(DelegateExecution execution) throws Exception {​​​​​​​​​​​​​​​​​​​​​
    execution.setVariable("variable", 1);
  }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

链接事件

  • 链接事件是一种特殊情况 - 它没有特殊的执行语义,但充当同一流程模型中另一点的"GoTo"(确切地说:在同一子流程中)

 

终止事件

  • 终止事件将结束引发它的完整作用域以及所有包含的内部作用域。
  • 流程实例级别的终止事件将终止整个实例。
  • 在子进程级别,当前作用域和所有包含的进程实例将被终止。

 

下一篇讲解子流程,敬请期待.

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值