Springboot +Flowable,DataObject的使用方式

2023-11-08

一.简介

在 Flowable 流程图的绘制过程中,可以编写一个名为 dataObject (数据对象)的元素,这个元素可以指定变量的 id、名称以及数据类型等各种属性,并且在流程实例启动的时候,会自动将 dataObject 元素的信息转换为流程实例变量.

二.添加 dataObject

首先我们来看下,在流程绘制的过程中,如何去添加 dataObject 对象。
随便绘制一个如下这样简单的流程图,截图如下:
在这里插入图片描述

给这个流程图,添加 dataObject 属性,方式如下:
首先打开流程图,不要选择任何节点,在下方可以找到数据对象属性,截图如下:
在这里插入图片描述
点击之后,就可以添加 dataObject 了。
在这里插入图片描述

配置完成之后,点击保存按钮。然后我们下载这个流程图,打开之后,会发现这次的 XMl 节点比之前的 XML 节点多出来了如下一些内容,代码如下:

<dataObject id="name" name="流程绘制人" itemSubjectRef="xsd:string">
  <extensionElements>
    <flowable:value>javaboy</flowable:value>
  </extensionElements>
</dataObject>
<dataObject id="site" name="流程作者网站" itemSubjectRef="xsd:string">
  <extensionElements>
    <flowable:value>www.javaboy.org</flowable:value>
  </extensionElements>
</dataObject>
<dataObject id="date" name="流程绘制时间" itemSubjectRef="xsd:datetime">
  <extensionElements>
    <flowable:value>2022-09-23T00:00:00</flowable:value>
  </extensionElements>
</dataObject>

三.查询 dataObject

接下来,部署并启动这个流程图。

当流程部署成功之后,可以在 ACT_RU_VARIABLE 表中查看到 dataObject 中的数据,截图如下:
在这里插入图片描述
可以看到,dataObject 的数据是和执行实例 ID 以及流程实例 ID 相关的。
接下来,可以通过如下方式来查询 ACT_RU_VARIABLE 表中的数据,代码如下:

@Test
void test08() {
    List<Execution> list = runtimeService.createExecutionQuery().list();
    for (Execution execution : list) {
        DataObject data = runtimeService.getDataObject(execution.getId(), "流程绘制人");
        logger.info("key:{},name:{},value:{}",data.getDataObjectDefinitionKey(),data.getName(),data.getValue());
    }
}

这里打印出来的信息就是刚刚在定义的时候配置的所有流程信息了。截图如下:
在这里插入图片描述
可以看到,这里先去 ACT_RU_EXECUTION 表中查询执行实例 ID,然后再根据拿到的执行实例 ID 去 ACT_RU_VARIABLE 表中查询 dataObject 信息。

《肖申克的救赎》

生命可以归结为一种简单的选择:要么忙于生存,要么赶着去死。

懦怯囚禁人的灵魂,希望可以感受自由。强者自救,圣者渡人。

希望是件美丽的东西,也许是最好的东西。美好的东西是永远不会死的。

每个人都是自己的上帝。如果你自己都放弃自己了,还有谁会救你?

《熔炉》

我们一路奋战,不是为了能改变世界,而是为了不让世界改变我们。

现实如水母,看似美好无害实质总是致命伤人。

我们来到世界上,都是孤独的旅行,即使身边有人相伴,最终也会各奔东西!

世界上最美丽最珍贵的,反而是听不见且看不清的,只有用心才能感受得到。

《教父》

人可以不断犯错,但绝不能犯要命的错。

不要憎恨你的敌人,那会影响你的判断力。

人并非生来就伟大,而是越活越伟大。

《活着》

人是为了活着本身而活着,而不是为了活着之外的任何事物而活着。

以笑的方式哭,在死亡的伴随下活着。

没有什么比时间更具有说服力了,因为时间无需通知我们就可以改变一切。

你的命是爹娘给的,你不要命了也得先去问问他们。

《我不是药神》

世界上只有一种病,穷病,这种病你没法治,你也治不过来。

人间最高贵的是善良,是对生命的致敬。

《指环王》

把手握紧,里面什么也没有;把手放开,你得到的是一切。

我宁愿和你共度凡人短暂的一生,也不愿一个人看尽这世界的沧海桑田。

20.幸福的家庭都是相似的,不幸的家庭各有各的不幸。

或许有一天,人类变得萎缩懦弱,舍弃朋友,断绝友谊,但今天决不会这样。
《饮食男女》

22.人生不能像做菜,把所有的材料都准备好了才下锅。

什么叫做“可惜”啊,要心中有个“惜”字儿,才知道可惜。

其实一家人,住在一个屋檐下,照样可以各过各的日子,可是从心里产生的那种顾忌,才是一个家之所以为家的意义。

《让子弹飞》

世界上本没有路,有了腿便有了路。

如果你活着,早晚都会死;如果你死了,你就永远活着。

赚钱嘛,不寒碜

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Springboot +Flowable,DataObject的使用方式 的相关文章

随机推荐

  • xgboost特征选择

    Xgboost在各大数据挖掘比赛中是一个大杀器 往往可以取得比其他各种机器学习算法更好的效果 数据预处理 特征工程 调参对Xgboost的效果有着非常重要的影响 这里介绍一下运用xgboost的特征选择 运用xgboost的特征选择可以筛选
  • 微信小程序带参扫码跳转以及测试方法

    前言 最近在做小程序开发时 遇到的一个比较基础性的问题吧 觉得有记录的必要 第一是加深自己的影响 第二也方便跟我一样遇到这种问题的朋友做一个方法参考 参数及跳转页面约定 这里的参数是你与后端沟通好的 约定的要返回的内容 这里因为项目业务需要
  • Grafana初步总结

    1 grafana安装及问题解决 在官网下载安装包 解压后进入bin目录双击 grafana server exe启动服务 服务启动成功默认端口3000 在浏览器输入http localhost 3000 回车进入登录界面 初始账号密码为
  • mySql 将一行数据拆分为多条数据原理解析

    先上sql语句 select distinct SUBSTRING INDEX SUBSTRING INDEX a beam type b help topic id 1 1 name from fab process tech test
  • vue element ui 表格带分页全选情况

    vue element ui 表格带分页全选情况 1 效果 2 原理 我们真实的情况 选择一条或者多条 将选择的id拼接成一个id数组传给后端 但是问题 如果数据过多的话 全选加入有4 5W条数据传递起来很费力而且可能会出错 和后端商量 当
  • Android x86开源项目虚拟机镜像下载(VM/Vbox)

    Android x86 开源项目可以让我们在虚拟机中直接运行Android系统 这里的x86指的是平台架构非32位版 如果你曾经查找过VMware 虚拟机安装 Android 的教程 应该了解直接安装的话设置和磁盘操作比较麻烦 对于很多新手
  • Segmentation简记3-UPSNet: A Unified Panoptic Segmentation Network

    Segmentation简记3 UPSNet A Unified Panoptic Segmentation Network 创新点 总结 实验 创新点 1 统一的全景分割网络 总结 uber的作品 网络结构如下 还是比较简洁的 Backb
  • leetcode剑指offer11—旋转数组的最小值(二分/边界值)

    把一个数组最开始的若干个元素搬到数组的末尾 我们称之为数组的旋转 给你一个可能存在 重复 元素值的数组 numbers 它原来是一个升序排列的数组 并按上述情形进行了一次旋转 请返回旋转数组的最小元素 例如 数组 3 4 5 1 2 为 1
  • C语言函数大全--e开头的函数

    e开头的函数 1 ecvt 1 1 函数说明 1 2 演示示例 1 3 运行结果 2 ellipse 2 1 函数说明 2 2 演示示例 2 3 运行结果 3 eof 3 1 函数说明 3 2 演示示例 3 3 运行结果 4 execl 4
  • java方法传参机制

    核心思想 java传参只能按值调用 方法不可能修改基本数据类型的参数 方法可以改变对象参数的状态 即可以改变对象的属性 但是不可能改变对象的引用 方法不可能让一个对象参数引用一个新的对象 8 21 java方法传参机制 核心思想 1 jav
  • Zabbix的邮件报警配置

    Zabbix的邮件报警配置 一 进入报警媒介 二 创建媒体类型 三 测试邮箱配置是否正确 四 关联报警媒介到用户 五 配置动作 六 配置报警媒介的信息模板 七 报警邮件测试 一 进入报警媒介 二 创建媒体类型 三 测试邮箱配置是否正确
  • 【vue3】使用vite构建vue3项目

    gt 博主 初映CY的前说 前端领域 本文核心 使用vite构建vue3项目 前言 当我们选择了vue3作为我们项目的开发 就更加的推荐使用vite来对我们的项目进行打包 很简单 这也是开发vue的团队开发的工具 因此支持性肯定比传统的打包
  • Vue中常用的第三方库

    stylus 一种css预处理器 可以更加直观的编写css代码 减少不必要的格式 下载 npm install stylus 使用 在style标签中加上 lang stylus 来使用stylus 样式不再需要大括号 而是用缩进来代替 可
  • IDEA查找关键字快捷键,很实用。

    本页面查找关键字快捷键 Ctrl F 查找当前页面关键字 1 第一个向上的箭头 表示关键字跳转到上一个 2 第二个向下的箭头 表示关键字跳转到上一个 其他的各位都可以尝试一下 主要就是当页面有较多关键字时 让你可以更加容易查看 查找所有 S
  • 【Python爬虫+数据分析教学案例】爬取天气数据,做可视化分析,毕设必备项目

    前言 嗨 大家好 这里是池鱼 又来跟你们唠叨唠叨两句 最近这几天长沙的天气 晴两天雨一天 弟弟他们老师叫他们爬爬天气数据 还要顺便做个可视化分析 他倒好 上课不听 现在跑过来要我帮帮忙 还能怎么呢 那就帮帮他吧 顺便来给你们分享分享 Pyt
  • Java基础知识-- Thread和线程池的具体使用

    Java Thread具体使用 1 直接创建匿名线程使用 new Thread public void run System out println Sub Thread Runnable start 2 使用Runnable包装待执行的任
  • 2021-12-10 宏定义列表—懒记

    1
  • [已解决]curl: /usr/local/lib/libcrypto.so.1.1: version `OPENSSL_1_1_0i‘ not found

    1 更新OpenSSL OpenSSL下载地址 https www openssl org source openssl 1 1 1a tar gz 或者其他最新版本 https www openssl org 2 切换到下载路径下 cd
  • ubuntu上使用ros

    ubuntu上使用ros 1 ubuntu20 04上安装ros Noetic 2 测试安装成功 1 ubuntu20 04上安装ros Noetic 1 添加 sources list 设置你的电脑可以从 packages ros org
  • Springboot +Flowable,DataObject的使用方式

    一 简介 在 Flowable 流程图的绘制过程中 可以编写一个名为 dataObject 数据对象 的元素 这个元素可以指定变量的 id 名称以及数据类型等各种属性 并且在流程实例启动的时候 会自动将 dataObject 元素的信息转换