activiti7任务服务-流程变量(setVariable与setVariableLocal)

本文主要是介绍activiti7任务服务-流程变量(setVariable与setVariableLocal),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

流程变量的作用

任务变量的作用主要由以下几个作用。

  • 任务承接人参数。任务启动或中途通过变量指定任务承接人。
  • 网关条件变量。任务启动时或中途为网关提供数据。
  • 任务拓展属性。为任务提供拓展的属性,可供检索。
  • 动态修改流程的属性。

任务服务提供了setVariableLocalsetVariable 两个方法为流程和任务提供设置变量的方法。运行时流程变量表为 act_ru_variable

任务服务的setVariable方法

使用方法如下 :

taskService.setVariable(taskId,key,value);

数据库结果 :
在这里插入图片描述

使用setVariable方法设置流程变量,变量关联的颗粒度为流程实例ID(PROC_INST_ID_)而不是任务ID,流程变量是属于全局的。

任务服务的setVariableLocal方法

使用方法如下 :

taskService.setVariableLocal(taskId,key,value);

数据库结果如下 :

在这里插入图片描述

使用setVariableLocal方法设置的变量颗粒度直接关联到了任务ID,变量是属于任务(一个任务就是一个流程节点)的。

对于查询的区别

查询全局变量

 taskQuery.taskVariableValueEquals("test_var","099098087");

查询全局变量(使用setVariable方法设置的流程变量),查询结果 :

{{"code": 10000,"msg": "成功","status": true,"data": {"records": [],"total": 0,"size": 10,"current": 1,"orders": [],"optimizeCountSql": true,"searchCount": true,"pages": 0}
}

由于全局变量未关联任务任务,因此查询不到任务任务。

查询任务变量

 taskQuery.taskVariableValueEquals("test_varrrrr","099098087");

查询结果如下 :

{"code": 10000,"msg": "成功","status": true,"data": {"records": [{"taskId": "ffd43354-8bde-11ec-a6d1-b42e996769a4","taskName": "审批人","processInstanceId": "ffc1bcb7-8bde-11ec-a6d1-b42e996769a4","processDefinitionId": "635cc307-8a6b-11ec-9c5b-b42e996769a4","createTime": "2022-02-12T08:37:23.272+00:00","taskDefinitionKey": "node_92754730680","assignee": "user_C"}],"total": 1,"size": 10,"current": 1,"orders": [],"optimizeCountSql": true,"searchCount": true,"pages": 1}
}

根据上文截图可以看出,查询到的任务就是任务关联的任务。

这篇关于activiti7任务服务-流程变量(setVariable与setVariableLocal)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388933

相关文章

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push