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

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3