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

news2025/2/24 18:06:35

信号开始事件

  • 信号开始事件
  • 一、定义
    • 1. 图形标记
    • 2. XML标记
  • 二、测试用例
    • 2.1 信号开始事件xml文件
    • 2.2 信号开始事件测试用例
  • 总结


信号开始事件


一、定义

接受特定的信号发起流程实例。

1. 图形标记

在这里插入图片描述

2. XML标记

消息开始事件的XML

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

<startEvent id="aa749c58988794b87acb6770233ebe9ab">
      <extensionElements>
        <flowable:formData />
      </extensionElements>
      <signalEventDefinition signalRef="startSigon" />
    </startEvent>

二、测试用例

2.1 信号开始事件xml文件

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://flowable.org/bpmn">
  <signal id="startSigon" name="开始信号" flowable:scope="global" />
  <process id="SignalStartEventProcess" name="开始信号事件" isExecutable="true">
    <userTask id="a3cf384f403f14a2b9fa881aba4f3224a" name="上报数据">
      <extensionElements>
        <flowable:formData />
        <flowable:assigneeType>static</flowable:assigneeType>
      </extensionElements>
    </userTask>
    <sequenceFlow id="a6349aaa3b8f048a98e538ff391611425" sourceRef="aa749c58988794b87acb6770233ebe9ab" targetRef="a3cf384f403f14a2b9fa881aba4f3224a" />
    <endEvent id="Event_0pvi979" />
    <sequenceFlow id="Flow_0cxkubc" sourceRef="a3cf384f403f14a2b9fa881aba4f3224a" targetRef="Event_0pvi979" />
    <startEvent id="aa749c58988794b87acb6770233ebe9ab">
      <extensionElements>
        <flowable:formData />
      </extensionElements>
      <signalEventDefinition signalRef="startSigon" />
    </startEvent>
  </process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_SignalStartEventProcess">
    <bpmndi:BPMNPlane id="BPMNPlane_SignalStartEventProcess" bpmnElement="SignalStartEventProcess">
      <bpmndi:BPMNEdge id="BPMNEdge_Flow_0cxkubc" bpmnElement="Flow_0cxkubc">
        <omgdi:waypoint x="180" y="40" />
        <omgdi:waypoint x="232" y="40" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="BPMNEdge_a6349aaa3b8f048a98e538ff391611425" bpmnElement="a6349aaa3b8f048a98e538ff391611425">
        <omgdi:waypoint x="36" y="40" />
        <omgdi:waypoint x="80" y="40" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="BPMNShape_a3cf384f403f14a2b9fa881aba4f3224a" bpmnElement="a3cf384f403f14a2b9fa881aba4f3224a">
        <omgdc:Bounds x="80" y="0" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_Event_0pvi979" bpmnElement="Event_0pvi979">
        <omgdc:Bounds x="232" y="22" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="BPMNShape_aa749c58988794b87acb6770233ebe9ab" bpmnElement="aa749c58988794b87acb6770233ebe9ab">
        <omgdc:Bounds x="0" y="25" width="36" height="36" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</definitions>

2.2 信号开始事件测试用例

      ProcessDefinition processDefinition = this.deployByModelKey("SignalStartEventProcess");
        runtimeService.signalEventReceived("开始信号");

        List<Task> list = taskService.createTaskQuery().processDefinitionId(processDefinition.getId()).list();
        if (CollectionUtils.isNotEmpty(list)) {
            list.forEach(task -> log.info("任务名称为:{}", task.getName()));
        }

总结

信号启动事件,我们可以信号的形式启动流程。

注意:信号是有作用域的,默认是全局,当然我们也可以设置在当前流程实例有效 flowable:scope=“processInstance”

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

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

相关文章

MySQL(2)

建表 mysql> create table work(-> ‘部门号’ int(11) not null,-> ‘职工号’ int(11) not null,-> ‘工作时间’ date not null,-> ‘工资’ float(8,2) not null,-> ‘政治面貌’ varchar(10) not null default 群众,-> ‘姓名’ varchar(20) not nu…

数据结构与算法——什么是数据结构

当你决定看这篇文章&#xff0c;就意味着系统学习数据结构的开始。下面我们先来讲什么是数据结构。 数据结构&#xff0c;直白地理解&#xff0c;就是研究数据的存储方式。 我们知道&#xff0c;数据存储只有一个目的&#xff0c;即为了方便后期对数据的再利用&#xff0c;就如…

Pandas和Polars之间语法和速度比较

大家好&#xff0c;Pandas是数据科学中必不可少的Python库&#xff0c;但其最大的缺点是对大型数据集的操作速度较慢。Polars是一种旨在更快地处理数据的Pandas替代方案。 本文将简要介绍Polars Python包&#xff0c;并将其与流行的数据科学库Pandas在语法和速度方面进行比较。…

Spring WebFlux 实现原理与架构图

启动原理与架构图 通过spring-boot-autoconfigure中的spring.factories文件&#xff0c;通过Spring Boot自动初始化下列类&#xff1a;HttpHandlerAutoConfiguration、ReactiveWebServerFactoryAutoConfiguration、WebFluxAutoConfiguration、ErrorWebFluxAutoConfiguration、…

问题解决:idea克隆项目依赖无法解析

问题描述尝试解决方案 问题描述 从git远程仓库clone了一个springboot项目, 然后项目的pom.xml文件的依赖全部加载失败,全部是Project 某某某依赖 not found 的错误,几十条 代码就更不用看了,只要用到依赖,全部报错. 看着报错就头大 尝试解决方案 检查maven配置是否正确 检查是…

国内首个多主架构方案发布:数据库产业生态的一次开放式升维

文 | 智能相对论 作者 | 叶远风 作为数字化变革最仰仗的基础设施之一&#xff0c;数据库的建设已经成为当下的热点。 长期以来&#xff0c;通过数据库的自主创新来保证数据基础设施的安全可控&#xff0c;一直是业界以及众多行业客户的普遍愿望。 但是&#xff0c;这一进程…

TP4056充电管理芯片使用详解

一.芯片简介 TP4056充电管理芯片是一款常用的单节锂电池恒定电流/恒定电压线性充电管理芯片。 内部电路框图如下&#xff1a; 芯片采用了内部 PMOSFET 架构&#xff0c;加上防倒充电路&#xff0c;无需增加外部隔离二极管。热反馈可对充电电流进行自动调节&#xff0c;以便在…

【Docker】error pulling image configuration: download failed after attempts=6: dial tc

问题&#xff1a;在学习Docker的时候遇到pull失败的情况 解决方法&#xff1a; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"] } EOF sudo systemctl daemon…

【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK

知识不是单独的&#xff0c;一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏&#xff1a;Visual Studio。 文章目录 1 版本环境2 构建步骤1 准备文件夹结构2 运行 CMake3 在 Visual Studio 中构建4 安装 VTK5 再次在 Visual Studio 中构建6 添加环境变量 3 测试是否…

基于妙记多 Mojidoc 剪藏内容和内容创建的工作流程

早在我开始创作之前&#xff0c;我就是一个信息消费者——收集想法和想法&#xff0c;但不对它们做任何事情。这给了我很多创建信息捕获和综合系统的经验。直到现在&#xff0c;我才有了适当的方法来分析我是如何做到的… 这是一个工作流程&#xff0c;可以在较多杂乱信息中增…

【Java】面向对象基础 之 静态字段和静态方法

1、静态字段 在一个class中定义的字段&#xff0c;我们称之为实例字段。实例字段的特点是&#xff0c;每个实例都有独立的字段&#xff0c;各个实例的同名字段互不影响。 还有一种字段&#xff0c;是用static修饰的字段&#xff0c;称为静态字段&#xff1a;static field。 …

Kkfileview | Docker | +Redis文件预览kkfile配置

文章目录 简介DockerRedis部署 简介 kkFileView为文件文档在线预览解决方案&#xff0c;该项目使用流行的spring boot搭建&#xff0c;易上手和部署&#xff0c;基本支持主流办公文档的在线预览&#xff0c;如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等 …

【Excel导出文件】

文章目录 课程内容1. 工作台1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计 1.2 代码导入1.2.1 Controller层1.2.2 Service层接口1.2.3 Service层实现类1.2.4 Mapper层 1.3 功能测试1.3.1 接口文档测试1.3.2 前后端联调测试 2. Apache POI2.1 介绍2.2 入门案例2.2.1 将数据写…

微信小程序中的条件渲染和列表渲染,wx:if ,wx:elif,wx:else,wx:for,wx:key的使用,以及block标记和hidden属性的说明

微信小程序中的条件渲染和列表渲染 1. 条件渲染1.1. 语法格式 (wx:if, wx:elif ,wx:else)1.2. block标记1.3. hidden属性1.4. wx:if 与 hidden 的对比 2. 列表渲染2.1. wx:for 语法格式 及 wx:key的使用 1. 条件渲染 1.1. 语法格式 (wx:if, wx:elif ,wx:else) <view wx:if…

Vue+element-UI实现列表排序(sortable、custom)

1.sortable、custom区别&#xff1a; 在列中设置sortable属性即可实现以该列为基准的排序&#xff0c;接受一个Boolean&#xff0c;默认为false。 可以通过 Table 的default-sort属性设置默认的排序列和排序顺序。 可以使用sort-method或者sort-by使用自定义的排序规则。 如…

大数据Hive篇:explode 和 posexplode

一. explode单独使用。 1.1. 用于array类型的数据 table_name 表名array_col 为数组类型的字段new_col array_col被explode之后对应的列 select explode(array_col) as new_col from table_name1.2. 用于map类型的数据 由于map是kay-value结构的&#xff0c;所以它在转换的…

跨平台低延迟RTSP转RTMP推送技术方案探讨

实现RTSP摄像头数据转RTMP推送到服务器&#xff0c;可以用第三方库或者工具实现&#xff0c;总体设计架构如下&#xff1a; 一个好的转发模块&#xff0c;首先要低延迟&#xff01;其次足够稳定、灵活、有状态反馈机制、资源占用低&#xff0c;跨平台&#xff0c;最好以接口形式…

使用python get post数据 http https

0、目的 目的比较简单&#xff0c;测试&#xff0c;使用python来提交数据是非常简洁的&#xff0c;修改代码也容易&#xff0c;除了做人工智能&#xff0c;本身也是一个非常好的测试端工具 1、简单的post 一个简单的示例程序&#xff0c;将 headers 内容置为’application/j…

C#轻松读写NDEF智能海报

NDEF 全称 NFC data exchange format 即 nfc 数据交换格式&#xff0c;是一种标准化的数据格式&#xff0c;可用于在任何兼容的NFC设备与另一个NFC设备或标签之间交换信息。数据格式由NDEF消息和NDEF记录组成。 NDEF信息可以写到不同类型的NFC芯片中&#xff0c;如Ntag系列芯片…

Python算法笔记(1)-时间复杂度、空间复杂度

Python算法笔记&#xff08;1&#xff09;-时间复杂度 1.时间复杂度 时间复杂度是一个描述算法的运行时间的一个函数&#xff0c;它描述了算法的运行时间和输入数据的规模之间的关系&#xff0c;时间复杂度的表示方法用O表示&#xff0c;时间复杂度也用来考察输入值无限趋近无…