Flowable开始事件-信号开始事件

信号开始事件在接收到特定信号后触发流程实例,可以由流程内的信号事件或API调用触发。XML内容中通过signalEventDefinition引用信号。使用场景包括信号事件的抛出和API的调用。信号定义的范围可以是流程实例或全局。推荐参考《深入Activiti流程引擎》以获取更多详细信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

✨✨✨ 最好用的Flowable流程设计器



信号开始事件


定义

信号开始事件在接收到特定的信号后被触发,启动一个流程实例。如果多个流程含有相同信号名称的信号开始事件,那么它们都会被启动。

图形标记

消息开始事件是一个圆圈,中间是一个消息事件图标。图标是白色未填充的,来表示捕获(接收)行为。
在这里插入图片描述

XML内容

信号开始事件的 XML 内容是在普通开始事件申请中包含一个 signalEventDefinition 子元素

 <!-- 信号定义 -->
 <signal id="theSignal" name="The Signal" />
 <process id="signalStartProcess">
     <startEvent id="signalStart" >
     <!-- 定义为开始信号事件 -->
     <signalEventDefinition signalRef="theSignal" />
     </startEvent>
 </process>

以上 xml 代码片段中加粗的部分分别定义了 signal、startEvent,信号 signal 的 id 属性值为theSignal,信号开始事件 startEvent 中的 signalEventDefinition 子元素通过设置 signalRef 为 theSignal
引用了该信号。

界面操作

定义信号

在这里插入图片描述

选择信号

在这里插入图片描述

使用示例

信号启动事件的触发方式通常有以下几种:

1、流程中的抛出信号事件(Signal Intermediate Throwing Event)、信号结束事件(Signal End
Event)发出信号,所有拥有相同名字信号启动事件的流程定义都会被启动。

2、通过 API(runtimeService.signalEventReceivedXXX 方法)抛出一个信号,所有拥有相同名字
信号启动事件的流程定义都会被启动。需要为 API 传递的 signalName,是由 signal 元素的 name 属
性决定的名字。signal 元素被 signalEventDefinition 的 signalRef 属性所引用。

3、作为普通开始事件,启动流程。
::: warning 注意:信号定义的作用域分流程实例有效和全局有效

<signal id="startSigon" name="开始信号" flowable:scope="processInstance" />

<signal id="startSigon" name="开始信号" flowable:scope="global" />
:::

视频地址:

信号开始事件

演示demo

信号开始事件

本文中内容和案例出自贺波老师的书《深入Activiti流程引擎:核心原理与高阶实战》,书中的介绍更全面、详细,推荐给大家。
深入Activiti流程引擎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小学生05101

flowable

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值