Camunda流程引擎事件如何使用(Events)
BPMN定义了不同的事件类型。事件包含开始(Start)、中间(Intermediate)、边界(Boundary)和结束(End)四种类型。根据触发方式不同,可以分为捕获事件(Catching Event)和抛出事件(Throwing Event)。以下是Camunda支持的事件类型。
1、启动事件Start Events
启动事件定义流程或子流程开始的位置。流程引擎支持不同类型的启动事件:
Blank、Timer、Message、Signal、Conditional。
引擎至少需要一个启动事件来实例化一个流程。每个流程定义最多可以有一个空白或计时器启动事件。可以有多个消息或信号启动事件。
2、空白事件None Events
无事件是未指定的事件,也称为“空白”事件。例如,' none '启动事件技术上意味着启动流程实例的触发器是未指定的。这意味着引擎无法预知何时必须启动流程实例。当流程实例通过API调用startProcessInstanceBy…方法。
3、消息事件Message Events
消息事件是引用已命名消息的事件。一条消息有一个名称和一个有效负载。与信号不同,消息事件总是指向单个收件人。
4、计时器事件Timer Events
计时器事件是由定义的计时器触发的事件。它们可以用作启动事件、中间事件或边界事件。边界事件可以中断,也可以不中断。
5、错误事件Error Events
捕获/抛出错误的事件。错误事件是由已定义的错误触发的事件。
6、升级事件Escalation Events
升级事件是引用已命名升级的事件。它们主要用于从子流程到上层流程的通信。与错误不同,升级事件是非关键的,在抛出事件的位置继续执行。
7、信号事件Signal Events
信号事件是引用一个命名信号的事件。信号是全局作用域的事件(广播语义),并被传递给所有活动处理程序。
8、取消和补偿事件Cancel and Compensation Events
事件抛出/捕获补偿和取消事务事件。
9、条件事件Conditional Events
条件事件定义了一个事件,该事件在给定条件被求值为true时被触发。它可以作为事件子流程的起始事件、中间事件和边界事件。开始和边界事件可以是中断的和不中断的。
10、链接事件Link Events
链接事件是一种特殊情况——它没有特殊的执行语义,但在相同的流程模型(确切地说:在相同的子流程中)中充当“GoTo”到另一个点的角色。因此,您可以使用两个匹配的链接作为序列流的替代。
11、终止事件Terminate Events
terminate事件将结束引发它的完整范围和所有包含的内部范围。如果您在一个流程中有一个并行的令牌流,并且您希望立即使用同一作用域中可用的所有令牌,那么这是非常有用的。流程实例级的终止事件终止完整的实例。在子流程级别,当前作用域和所有包含的流程实例将被终止。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体