Flowable-任务-接受任务

news2024/9/27 21:18:16

定义

接收任务是一种简单任务,它会等待对应消息的到达。当流程执行到达接收任务时,流程状态会持
久化到数据库中,这意味着该流程将一直处于等待状态,直到引擎接收到一个特定的消息为止,该消息
将触发离开接收任务继续往下执行。

图形标记

接收任务显示为一个普通任务(圆角矩形),左上角是一个消息小图标,如图所示:

在这里插入图片描述

需要在注意的是,接收任务中的消息图标是白色的(黑色的消息图标表示已经发送的意思)。

XML标记

接收任务的 XML 表示格式如下:

<receiveTask id="receiveTask1" name="接受任务" />

使用示例

流程到达接收任务后,会进入一个等待状态,通常用于由外部完成的但需要耗费一定时间的工作,
当完成工作后,要使得流程继续往下执行,可以调用 runtimeService.trigger(executionId)方法,其中
executionId 是执行到此接收任务的执行实例的 id。下面我们看一接收务的使用示例,设计如图所示
流程,这是一个账号激活示例流程,当客户发起申请后,首先到达“管理员审核”用户任务节点,操作
完成后流转到“等待激活结果”接收任务节点,直到接收到对应消息后继续往下执行到流程结束。

在这里插入图片描述

流程对应的 XML 内容如下

 <process id="receiveTaskProcess" name="任务-接收任务" isExecutable="true">
    <startEvent id="a6f37f9b227774dd68879a4cae79865a8" />
    <userTask id="a9a3ceaf2c4d64de2af1f861772ac516a" name="账号激活申请">
        <extensionElements>
            <flowable:formData />
            <flowable:assigneeType>static</flowable:assigneeType>
        </extensionElements>
    </userTask>
    <sequenceFlow id="a08c7bb0990b14e6ab2d878a8ec43a303" sourceRef="a6f37f9b227774dd68879a4cae79865a8" targetRef="a9a3ceaf2c4d64de2af1f861772ac516a" />
    <receiveTask id="Activity_1uxmlgz" name="等待激活结果">
        <extensionElements>
            <flowable:executionListener class="com.dragon.test.bpmn.listener.ReceiveTaskExecutionListener" event="end" />
            <flowable:assigneeType>static</flowable:assigneeType>
            <flowable:formData />
        </extensionElements>
    </receiveTask>
    <userTask id="Activity_1g60ycx" name="管理员审核">
        <extensionElements>
            <flowable:formData />
            <flowable:assigneeType>static</flowable:assigneeType>
        </extensionElements>
    </userTask>
    <endEvent id="Event_1vyjmzt" />
    <sequenceFlow id="Flow_0be9ua9" sourceRef="a9a3ceaf2c4d64de2af1f861772ac516a" targetRef="Activity_1g60ycx" />
    <sequenceFlow id="Flow_1xf4w9a" sourceRef="Activity_1g60ycx" targetRef="Activity_1uxmlgz" />
    <sequenceFlow id="Flow_0v1w6nx" sourceRef="Activity_1uxmlgz" targetRef="Event_1vyjmzt" />
</process>

在以上流程定义中,接收任务 Activity_1uxmlgz 使用 flowable:executionListener 元素定义了一个执行监听器,
该元素并不属于 BPMN2.0 规范,而是 Flowable 扩展出来的元素。在这里设置的执行监听器会在节点结束
(event 属性为 end)时执行。关于执行监听器更详细的介绍和用法,详见第 17 章。这里例子中的执行监
听器 ReceiveTaskExecutionListener 内容如下:

@Slf4j
public class ReceiveTaskExecutionListener implements ExecutionListener {
    @Override
    public void notify(DelegateExecution execution) {
        FlowElement currentFlowElement = execution.getCurrentFlowElement();
        log.info("当前为接收任务,节点名称:{},备注:{}", currentFlowElement.getName(), currentFlowElement.getDocumentation());
        String result = (String)execution.getVariable("result");
        log.info("接收任务已被触发,处理结果为:{}", result);
    }
}

视频地址:
FlowableBpmn2.0组件讲解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/809087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Echarts 文字太长用省略号代替

xAxis: [{type: category,data: [materialUserEchartsDate.value[0] ? materialUserEchartsDate.value[0].name : ,materialUserEchartsDate.value[1] ? materialUserEchartsDate.value[1].name : ,materialUserEchartsDate.value[2] ? materialUserEchartsDate.value[2].na…

JAVASE---数据类型与变量

1. 字面常量 常量即程序运行期间&#xff0c;固定不变的量称为常量&#xff0c;比如&#xff1a;一个礼拜七天&#xff0c;一年12个月等。 public class Demo{ public static void main(String[] args){ System.Out.println("hello world!"); System.Out.println(…

HDFS中数据迁移的使用场景和考量因素

HDFS中数据迁移的使用场景和考量因素 数据迁移使用场景数据迁移要素考量HDFS分布式拷贝工具-DistCpdistcp的优势性能命令 数据迁移使用场景 冷热集群数据同步、分类存储集群数据整体搬迁 当公司业务迅速的发展&#xff0c;导致的当前的服务器数量资源出现临时紧张的时候&#…

2,继承、内联函数、虚继承、友元、构造析构函数、初始化列表

继承 2.1结构体成员权限2.1.1访问权限2.1.2类与结构体 2.2类的成员函数2.2.1类内规则2.2.2类成员内联函数inline 2.3类的继承2.3.1类的继承与成员函数2.3.2类的多继承2.3.2.1类的多继承&#xff1a;菱形问题提出 2.3.3类的虚继承&#xff08;关键字virtual&#xff09; 2.4友元…

Zookeeper入门介绍

Zookeeper在我本次系统的学习之前是已经开始使用了&#xff0c;但是并不理解Zookeeper到底是什么&#xff0c;有什么作用&#xff0c;你或许跟我有一样的疑惑&#xff0c;本专栏将会解决这些疑惑。 目录 Zookeeper介绍&#xff1a; zookeeper特点&#xff1a; 数据结构&#x…

Python 进阶(四):日期和时间(time、datetime、calendar 模块)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. time模块1.1 获取当前时间1.2 时间休眠1.3 格式化时间 2. datetime模块2.1 获取当前…

【Docker】Docker应用部署之Docekr容器安装Nginx

目录 一、搜索镜像 二、拉取镜像 三、创建容器 四、测试使用 一、搜索镜像 docker search nginx 二、拉取镜像 docker pull nginx # 不加冒号版本号 默认拉取最新版 三、创建容器 首先我们需要在宿主机创建数据卷目录 mkdir nginx # 创建目录 cd nginx # 进入目录 mkd…

【SAP Abap】记录一次SAP长文本内容通过Web页面完整显示的应用

【SAP Abap】记录一次SAP长文本内容通过Web页面完整显示的应用 1、业务背景2、实现效果3、开发代码3.1、拼接html3.2、显示html3.3、ALV导出Excel 1、业务背景 业务在销售订单中&#xff0c;通过长文本描述&#xff0c;记录了一些生产备注信息&#xff0c;如生产标准、客户要求…

【Java面试丨企业场景】常见技术场景

一、单点登录怎么实现的 1. 介绍 单点登录&#xff08;Single Sign On&#xff0c;SSO&#xff09;&#xff1a;只需要登录一次&#xff0c;就可以访问所有信任的应用系统 2. 解决方案 JWT解决单点登录问题 用户访问应用系统&#xff0c;会在网关判断Token是否有效如果Tok…

位运算 剑指offer15 二进制中1的个数 搜索算法:55-II 平衡二叉树 数值的整数次方 39数组中出现次数超过一半的数字

可能会引起死循环的解法&#xff1a; 看最右边一位是不是1&#xff0c;然后将输入的整数右移一位&#xff0c;再判断最右边一位&#xff08;即倒数第二位&#xff09;是否为1&#xff0c;接着再右移&#xff0c;知道整数移动到0为止 这个解法&#xff0c;把整数右移一位和把整数…

mfc140u.dll丢失怎样修复?这三个方法的可以修复

最近遇到了mfc140u.dll丢失的问题&#xff0c;让我感到非常困扰。在使用某个软件时&#xff0c;突然弹出了一个错误提示&#xff0c;说是mfc140u.dll文件不存在&#xff0c;导致该软件无法正常运行。一开始我并不知道这个文件是什么&#xff0c;也不知道为什么会丢失。于是我开…

7.29训练总结

CodeForces - 1609E 这种使得整个串不包含子串’abc’的题目&#xff0c;发现可以用线段树维护 #include<bits/stdc.h> using namespace std; const int maxn1e55; #define lson now<<1 #define rson now<<1|1 struct seg {int a,b,c;int ab,bc,abc; }tr[m…

使用开源免费AI绘图工具神器-Stable Diffusion懒人整合包

使用开源免费AI绘图工具神器-Stable Diffusion懒人整合包 Stable Diffusion 是什么 Stable Diffusion (简称 SD) 是一款开源免费的以文生图的 AI 扩散模型&#xff0c;它和付费的 Midjourney 被人称为当下最好用的 AI 绘画工具。你在网上看到的绝大多数优秀 AI 图片作品&…

智能垃圾桶

1.树莓派3B引脚图 2. 原理图 3.舵机线图 搜了这个这么多3b的资料&#xff0c;自己只是想解决如何下程序和运行程序的博客&#xff0c;网上搜集的资料全是讲如何通过SSH或者网线连接树莓派&#xff0c;通过直接连接屏幕的教程较少。 棕 : GND 红 : VCC 黄&#xff1a; 信号线…

【Ubuntu系统18.04虚拟机ros下实现darknet_ros(YOLO V3)检测问题解析最全】

原本打算在搭载Ubuntu18.04的智能小车上面运行使用darknet_ros 包来进行yolov3的检测&#xff0c;但是运行过程中遇到了不少问题&#xff0c;从头到尾部的运行包括遇到的解决方法以及对应的文章一并列出&#xff0c;免得到处查找。 首先是在ROS下实现darknet_ros(YOLO V3)检测…

127.【SpringBoot 源码刨析D】

SpringBoot 源码刨析D (三)、SpringBoot 核心功能4.单元测试功能(1).JUnit5 的变化(2).JUnit5常用注解(3).断言&#xff08; assertions &#xff09;(3.1).简单断言(3.2).数组断言(3.3).组合断言(3.4).异常断言(3.5).超时断言(3.6).快速失败 (4).前置条件&#xff08; assumpt…

【小白必看】Python爬虫实战之批量下载女神图片并保存到本地

文章目录 前言运行结果部分图片1. 引入所需库2. 发送请求获取网页内容3. 解析网页内容并提取图片地址和名称4. 下载并保存图片完整代码关键代码讲解 结束语 前言 爬取网络上的图片是一种常见的需求&#xff0c;它可以帮助我们批量下载大量图片并进行后续处理。本文将介绍如何使…

如何选择台式还是便携式多参数水质检测仪呢

选择台式还是便携式多参数水质检测仪主要取决于具体的使用需求和场景。 1.便携式多参数水质检测仪适用于需要在不同地点进行水质检测的情况&#xff0c;例如户外采样、实地调查等。它具有小巧轻便的特点&#xff0c;方便携带和操作&#xff0c;适合需要频繁移动或需要灵活使用的…

深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式

VSS 虚拟耗用内存大小&#xff0c;是进程可以访问的所有虚拟内存的总量&#xff0c;包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。 RSS 驻留内存大小&#xff0c;是进程当前实际占用的物理内存大小&#xff0c;包括进程独自占用的物理内存、和其…

bootstrap入门到精通

官网&#xff1a;列表组 - Bootstrap框架 (bootstrapdoc.com) 菜鸟教程&#xff1a;Bootstrap 列表组 | 菜鸟教程 (runoob.com) 1.什么是bootstrap bootstrap是一个用于快速开发web应用程序和网站的前端框架。基于HTML、CSS和JavaScript封装 响应式 ElementUI 更适合用于企…