Flowable-中间事件-消息中间捕获事件

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


定义

消息中间事件指在流程中将一个消息事件作为独立的节点来运行。它是一种捕获事件,当流程
执行到消息中间事件时就会中断在这里,一直等待被触发,直接到该事件接收到相应的消息后,流
程沿后继路线继续执行。消息事件是一种引用了消息定义的事件,与信号事件不同的是,消息只能
指向一个接收对象,不能像信号事件一样全局广播。

图形标记

消息中间事件显示为普通中间事件(圆圈套圆圈),内部是一个消息小图标。消息图标是白色
的(无填充),表示捕获语义,如图所示:
在这里插入图片描述

XML 内容

消息中间事件定义为标准中间捕获事件,指定类型的子元素是 messageEventDefinition 元素:

 <message id="theMessage" name="newMessageName" />
 <process id="messageIntermediateCatchEventProcess">
     <intermediateCatchEvent id="message">
        <messageEventDefinition messageRef="theMessage" />
     </intermediateCatchEvent>
 </process>

在以上 xml 代码片段中,加粗的部分分别定义了 message 和 intermediateCatchEvent,消息
message 的 id 属 性 值 为 theMessage , 消 息 中 间 事 件 intermediateCatchEvent 中 的
messageEventDefinition 子元素通过设置 messageRef 为 theMessage 引用了该消息。

使用示例

消息中间事件的触发方式有两种

  1. 流程中抛出消息事件(Message Intermediate Throwing Event)、消息抛出事件、消息结束事件(Message EndEvent)发出的内部消息。
  2. 通过 API 触发,在 Flowable 中通过调用 runtimeService.messageEventReceived 系列方法发出一个指定的信号。runtimeService.messageEventReceived 系列方法下表格所示:
API 方法含义
runtimeService.messageEventReceived(String messageName, String executionId)把消息发送给指定执行流
runtimeService.messageEventReceived(String messageName, String executionId, HashMap<String, Object> processVariables)把消息发送给指定执行流,同时给更新流程变量

界面操作

在这里插入图片描述

视频地址:

消息抛出捕获事件

演示demo

消息中间捕获事件

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小学生05101

flowable

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

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

打赏作者

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

抵扣说明:

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

余额充值