流程变量的设置通过map键值对设置
package com.liuzm.activiti.day2; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.activiti.engine.task.Task; import org.junit.Test; /** * 流程变量 * 1.启动流程 * 2.设置流程变量 * 3.获取流程变量 */ public class ProcessVarTest { private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); // 1.启动流程 @Test public void startProcess() throws Exception { //获取服务对象 RuntimeService runtimeService = processEngine.getRuntimeService(); //通过流程定义ID开启流程实例,同时添加流程变量 String processDefinitionId = "myProcess:3:604"; Map<String,Object> variables = new HashMap<String,Object>(); variables.put("提示信息", "开启请假流程!!!"); runtimeService.startProcessInstanceById(processDefinitionId, variables); } // 2.设置流程变量 @Test public void setVar() throws Exception { //获取服务对象 TaskService taskService = processEngine.getTaskService(); //查询任务 String assignee = "范爷"; List<Task> list = taskService.createTaskQuery().taskAssignee(assignee).list(); //获取到第一个任务 Task task = list.get(0); String taskId = task.getId(); //设置流程变量--->通过taskService可以多次设置流程变量,并且可通过Map批量设置 //taskService.setVariable(taskId, "请假人", assignee); //存储到Text1列 //taskService.setVariable(taskId , "请假时间", new Date());//转化为时间戳,存储到Long列 taskService.setVariable(taskId, "是否要扣薪资", true);//存储到Long列,存1 taskService.setVariable(taskId, "要扣薪资", 333.33);//存储到DOUBLE列 } // 3.获取流程变量 @Test public void getVar() throws Exception { //获取服务对象 TaskService taskService = processEngine.getTaskService(); //获取任务,从而得到任务ID String assignee = "范爷"; List<Task> list = taskService.createTaskQuery().taskAssignee(assignee).list(); Task task = list.get(0); String taskId = task.getId(); //获取流程变量 Map<String, Object> variables = taskService.getVariables(taskId ); System.out.println(variables); } }
相关推荐
Activiti 是一个开源的工作流引擎,它用于自动化业务流程。在 Activiti 中,流程变量是流程实例中的...在 "Activiti Study" 文件中,你可能能找到更多关于如何操作和使用流程变量的实例和代码示例,进一步加深理解。
这个"activiti流程图查看demo"是一个示例项目,旨在帮助用户理解如何在Activiti中查看和操作流程图。在本篇文章中,我们将深入探讨Activiti的核心概念、流程图的查看方法以及如何利用diagram-viewer工具来实现这一...
04 - Activiti流程变量 1.流程变量的概念 2.使用TaskService设置和获取流程变量 3.局部流程变量 4.使用RuntimeService设置和获取流程变量 5.启动流程的时候设置流程变量 6.完成任务的时候设置流程变量 05 - ...
Activiti 提供了 API 和 SQL 查询来获取和分析历史数据。开发者可以基于特定条件,如流程实例ID、任务ID、变量值等进行查询,从而获取定制化的报表和分析结果。例如,可以统计某段时间内某个任务的平均处理时长,...
5. **流程变量的管理**:设置、获取和更新流程中的变量,这些变量可以用来传递信息和控制流程行为。 6. **监听器和事件**:注册监听器来跟踪流程实例或任务的生命周期事件,如创建、完成、删除等。 7. **流程查询*...
3. 配置环境变量:设置ACTIVITI_HOME指向解压后的目录,并在PATH中添加%ACTIVITI_HOME%\bin。 4. 启动:运行bin目录下的start activiti.bat(Windows)或start activiti.sh(Unix/Linux)启动命令。 【运行示例】:...
- **流程变量**:用于在流程实例中存储数据的临时存储,可以在不同任务之间传递信息。 - **任务(Task)管理**:如何获取当前用户的待办任务,如何完成任务,以及任务委托和分配。 - **监听器(Listener)**:可以...
此外,Activiti提供了丰富的API来查询和控制流程实例,例如获取当前活动任务、完成任务、跳过任务、退回任务等。同时,流程定义还可以通过表达式、决策表(Drools)等方式实现动态决策,使得流程更加灵活。 在流程...
BPMN 2.0还提供了对流程变量、事件驱动、并发处理和流程实例的生命周期管理等功能。 3. **流程定义插件**: 描述中提到的“流程定义插件”可能是指用于图形化设计和编辑流程的工具,如Activiti Modeler。这种工具...
Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级流程管理。在这个主题中,"activiti 会签投票统计" 涉及到 Activiti 的特定功能,特别是会签(Parallel Multi-instance)和自定义事件监听器,用于...
6. **变量管理**:在流程执行过程中,可以设置和获取流程变量,这些变量可以用来传递信息和控制流程的走向。 7. **监听器与事件**:Activiti支持监听器机制,可以监听流程的各种事件,如任务创建、任务完成、流程...
Activiti 是一个开源的工作流和业务自动化引擎,广泛应用于企业级应用中,处理流程的建模、部署和执行。在Activiti6.0用户手册中,我们主要关注以下几个核心概念和知识点: 1. **流程定义 (Process Definitions)**...
### Activiti流程用户使用手册知识点概述 #### 一、Activiti 概览 - **版本信息**:Activiti 5.13版本。 - **环境要求**:支持JDK 6及以上版本,适用于Eclipse Indigo及后续版本(如Juno)。 - **功能概述**:...
3. **RuntimeService**: 用于启动流程实例和处理流程变量。 4. **TaskService**: 处理任务相关操作,如领取任务、完成任务、查询任务等。 5. **FormService**: 提供表单相关的操作,如获取表单字段、提交表单数据。 ...
- **DAO层**: 与数据库交互,获取和更新流程相关数据。 - **配置类**: 配置Activiti与Spring Boot的整合,包括数据源、事务管理等。 5. **安全性与权限控制** - 使用Spring Security或者自定义的权限管理,确保...
2. 运行时服务:负责流程实例的启动、暂停、恢复、完成等操作,以及流程变量的管理和查询。 3. 历史服务:记录流程实例的运行历史,便于审计和分析。 4. 表单服务:与用户界面交互,处理表单数据的提交和显示。 5. ...
Activiti工作流引擎是一款开源的企业级业务流程管理(BPM)和工作流系统,它为组织提供了一种灵活、可扩展的方式来设计、执行和管理业务流程。在面试中,了解Activiti的核心服务对于理解其工作原理和实际应用至关...
- 变量操作:允许在流程实例中设置、获取和删除变量的类,如VariableService。 - 任务操作:处理与用户任务相关的操作,如创建、完成和查询任务。 - 事件监听:通过实现接口或使用监听器类,可以监听流程运行过程...
"activiti-demo" 可能展示了如何设置和获取这些变量,以及它们在流程执行中的作用。 8. **事件监听器**:Activiti 提供了事件监听器机制,允许自定义代码在特定事件(如流程启动、任务完成等)发生时执行。这在日志...
例如,可能会有专门用来获取当前任务的工具类,或者用于启动和结束流程实例的工具类。这些工具类可以使代码更加模块化,提高可读性和复用性。 在注释方面,清晰的注释是保证其他开发者能够快速理解和维护代码的关键...