首页 > 其他 > 详细

Activiti 事件的具体描述

时间:2020-11-03 10:18:43      阅读:73      评论:0      收藏:0      [点我收藏+]

定义

事件(Events)

事件通常用于为流程生命周期中发生的事情建模。事件总是图形化为圆圈。有两种主要的事件分类:捕获(catching)与抛出(throwing)事件

- 捕获: 当流程执行到达这个事件时,会等待直到触发器动作。触发器的类型,由其中的图标,或者说XML中的类型声明而定义。捕获事件与抛出事件显示上的区别,是其内部的图标没有填充(也就是说,是白色的)。

- 抛出: 当流程执行到达这个事件时,会触发一个触发器。触发器的类型,由其中的图标,或者说XML中的类型声明而定义。抛出事件与捕获事件显示上的区别,是其内部的图标填充为黑色。

事件的具体描述

空启动事件

技术分享图片

长这样。中心没有图标,也就是说没有触发器,在技术上是指没有特别指定启动流程实例的触发器。


定时器启动事件

技术分享图片

? 如上,比空启动事件多了个小钟表。用于指定事件创建流程实例。在流程只需要启动一次或者是流程需要在特定的时间间隔重复启动时,都可以使用(子流程不能有定时器启动事件)

消息启动事件
? 技术分享图片

这个?(用户手册上说

这个标志并未填充,用于表示捕获(接受)行为

没看出来跟上面有什么区别)。

? 圆圈中有一个信件标识用来表示消息启动事件。使用具名消息启动流程实例。它让我们可以使用消息名,有效地在一组可选的启动事件中选择正确的启动事件。
当部署具有一个或多个消息启动事件的流程定义时,会考虑下列因素:

  • 消息启动事件的名字,在给定流程定义中,必须是唯一的。一个流程定义不得包含多个同名的消息启动事件。如果流程定义中有两个或多个消息启动事件引用 同一个消息,也即两个或多个消息启动事件引用了具有相同消息名字的消息,则Activiti在部署这个流程定义时,会抛出异常。

  • 消息启动事件的名字,在所有已部署的流程定义中,必须是唯一的。如果流程定义中,一个或多个消息启动事件,引用了已经部署的另一流程定义中消息启动事件的消息名,则Activiti在部署这个流程定义时,会抛出异常。

  • 流程版本:在部署流程定义的新版本时,会取消上一版本的消息订阅。即使新版本中并没有这个消息事件,仍然如此(取消上版本的消息订阅)。


信号启动事件

技术分享图片

? 如上图所示,其中有一个三角形,叫作“信号时间”;同样,这个标识并未填充,用以表示捕获(接收)行为。

? 使用具名信号启动流程实例。这个信号可以由流程实例中的信号抛出中间事件(intermediary signal throw event),或
者API(runtimeService.signalEventReceivedXXX方法)触发。这些情况下,所有拥有相同名字信号启动事件的流程定义都会被启动。


未完待续

Activiti 事件的具体描述

原文:https://www.cnblogs.com/L599142776/p/13917719.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!