`
wangmingyue
  • 浏览: 45111 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

工作流Activiti5流程变量 任务变量 setVariables 和 setVariablesLocal区别

阅读更多

因为网上的资料比较少。结合源码把相关API写下来。

设置流程级别变量:

runtimeService.startProcessInstanceById(
template.getTemplateId(), variables);

runtimeService.setVariables(executionId, variables);


taskService.complete(String.valueOf(taskId), variables); //流程变量 这个开始我以为是设置任务变量 看了一下源码才发现是流程级别的



设置任务级别变量:

taskService.setVariable(String.valueOf(taskId), "va", "2"); //任务级别 变量


变量表:

select * from act_hi_varinst


setVariables 和 setVariablesLocal区别?

可以简单认为,variable都是针对processInstance的。

local可能是针对某个execution分支的,也可能针对task的。

这里就要谈一下变量的作用域,变量肯定是依附于某个流程里的概念而存在的,所以才能在流程流转过程中使用这些变量。

默认的变量都是流程实例级别的,也就是说,分支execution和task都可以读取到对应processInstance里的变量。

与之相对的就是local变量,简单来说就不是processInstance范围的变量,如何区分global和local呢?差别就是local的作用范围小,如果是分支execution的local变量,就只能在execution分支生存期使用。

比如并发分支结束了,变量也就没了

比如task结束了,变量也就没了。

local变量的好处是,可以在每个分支使用同名的变量,互相之间不受影响,会签multi-instance就是通过local局部变量实现的。


分享到:
评论

相关推荐

    Activiti 学习笔记五:流程变量

    Activiti 是一个开源的工作流引擎,它用于自动化业务流程。在 Activiti 中,流程变量是流程实例中的数据载体,它们可以被流程中的不同任务、事件或服务调用所使用。理解并熟练操作流程变量是深入学习 Activiti 的...

    工作流Activiti5学习总结

    2. **工作流引擎**:Activiti5提供了一个强大的工作流引擎,用于执行流程实例,并处理流程中的任务、事件和信号。 3. **模型驱动**:它采用模型驱动的开发方式,使得业务流程的设计和实现分离,提高了开发效率。 4...

    Activiti工作流示例Activiti Demo(带完整源码)非常实用

    Activiti是一款开源的工作流引擎,它基于模型驱动的架构(MDA),专为现代企业应用程序设计,用于处理业务流程自动化。这个"Activiti工作流示例Activiti Demo"提供了完整的源代码,帮助开发者深入理解并实际操作...

    Activiti12流程跟踪任务节点和线高亮显示

    流程跟踪任务节点和线高亮显示是Activiti流程跟踪功能的重要组成部分,能够标记流程所走过的节点和线为红色,未走过的节点和线不标记,支持驳回和子流程。 Activiti流程跟踪任务节点和线高亮显示的实现原理是基于...

    Activiti工作流之流程实例、任务的执行

    【标题】"Activiti工作流之流程...总结来说,Activiti工作流系统提供了强大的流程建模和执行能力,流程实例和任务是其核心概念。通过源码研究和使用相关工具,开发者可以有效地定制和优化企业业务流程,提升工作效率。

    Activiti工作流面试相关知识

    Activiti工作流引擎是一款开源的企业级业务流程管理(BPM)和工作流系统,它为组织提供了一种灵活、可扩展的方式来设计、执行和管理业务流程。在面试中,了解Activiti的核心服务对于理解其工作原理和实际应用至关...

    activiti工作流流程跟踪图(图片(两种方式))

    Activiti是一款开源的工作流引擎,它为业务流程自动化提供了强大的支持。在开发和运维过程中,流程跟踪图是非常重要的工具,可以帮助我们理解流程的执行状态,定位问题,优化流程设计。本实例聚焦于如何生成和查看...

    Activiti工作流整合Web流程设计器整合

    在这个“Activiti工作流整合Web流程设计器整合”主题中,我们将深入探讨如何将Activiti与Web流程设计器集成,以实现直观、高效的流程设计和管理。 首先,我们要理解什么是Activiti。Activiti是由Alfresco开发的一款...

    activiti工作流PPT

    Activiti作为一个工作流引擎,允许开发者通过编程或使用图形化工具定义、执行和管理这些流程。 在Activiti中,流程定义是用BPMN 2.0(Business Process Model and Notation)语言编写的,这是一种国际标准,用于...

    工作流Activiti的学习总结(八)Activiti自动执行的应用

    Activiti是一个开源的工作流和业务流程管理(BPM)系统,广泛应用于企业级应用中,以自动化业务流程。以下是关于这个主题的详细知识点: 1. **Activiti简介**: Activiti是基于Java的轻量级工作流引擎,它实现了...

    activiti6.0实现流程图片自定义颜色 当前任务为红色,走过的任务为绿色,自定义文字颜色连线文字显示

    在Activiti 6.0中,我们可以通过自定义颜色来突出显示当前任务和已完成的任务,从而提供更清晰的工作流视图。 在"activiti6.0流程图片自定义颜色"的场景下,我们可以看到以下四个关键文件: 1. ...

    简单的activiti请假流程

    Activiti 是一个开源的工作流和业务自动化引擎,它被广泛应用于企业级应用中,用于处理业务流程和工作流。这个“简单的activiti请假流程”项目是针对初学者或希望了解Activiti基本操作的一个实例,旨在展示如何在...

    工作流activiti学习代码

    在本"工作流Activiti学习代码"资源中,我们将深入探讨如何利用Activiti进行流程设计、部署和执行。 1. Activiti简介: Activiti是一个基于模型驱动的BPMN 2.0规范的工作流引擎,支持图形化建模工具,使得业务人员...

    工作流activiti实战项目源码

    Activiti 是一个开源的工作流和业务流程管理(BPM)引擎,它被广泛应用于企业级应用中,用于自动化业务流程。本项目“工作流activiti实战项目源码”提供了使用Activiti实现工作流的实例,适合开发者进行学习和实践。...

    Activiti工作流详细讲解完整教程.pdf

    Activiti工作流框架是一款由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架。它以其灵活性、易用性和强大的扩展能力而闻名,在业务流程管理、工作流和服务协作等多个领域都有着广泛的应用。Activiti基于...

    Activiti 学习笔记六:流程执行历史记录

    Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级应用中,提供流程定义、执行、监控等全面的功能。本学习笔记将聚焦于流程执行的历史记录,这是理解流程运行情况、追踪问题以及优化流程的关键。 一...

    最新工作流引擎Activiti7基础与进阶

    Activiti7不但提高的工作流引擎的效率,提供了新封装的新API,还提供了和SpringBoot2.X版本整合的功能。 本课程从Activiti的基础架构、表结构、基础API开始介绍,逐渐讲解到Activiti的高级功能如:流程变量、网关,...

    activiti 工作流实例-实现请假流程

    这个是Activiti开发的请假流程实例,可以作为用Activiti开发工作流的参考;项目采用spring+hibernate+strus2+activity开发,可以运行;数据库采用oracle,其中 QingJia 和 QingJiaHis 是自己的业务表,分别表示 请假...

    activiti5.22 流程设计器绘画的流程图条件线上的字不显示

    Activiti是一个开源的工作流和业务流程管理(BPM)平台,它提供了一整套服务来帮助开发者设计、执行、监控和优化业务流程。在Activiti中,流程图是通过一个可视化的设计器绘制的,这些图形化表示不仅包含流程节点,还...

Global site tag (gtag.js) - Google Analytics