Java Activiti(6)--流程变量的添加与获取(表act_ru_variable)
来源:互联网 发布:java工程师学什么专业 编辑:程序博客网 时间:2024/06/10 08:06
1、说明:
流程变量在整个工作流中扮演很重要的作用。例如:请假流程中有请假天数、请假原因等一些参数都为流程变量的范围。流程变量的作用域范围是流程实例。也就是说各个流程实例的流程变量是不相互影响的。流程实例结束完成以后流程变量还保存在数据库中。
2、流程变量示例:
3、添加流程变量
1)在启动流程实例时
//2、在启动流程实例时,添加变量 @Test public void startProcessInstanceByKey() throws Exception { String processDefinitionKey = "baoxiaoFlow"; Map<String, Object> variable = new HashMap<String, Object>(); variable.put("amount", "300元"); variable.put("reason", "出差"); ProcessInstance processInstance = processEngine.getRuntimeService().startProcessInstanceByKey(processDefinitionKey, variable); System.out.println("processInstance.getId()===" + processInstance.getId()); System.out.println("processInstance.getProcessDefinitionId()===" + processInstance.getProcessDefinitionId()); }
2)在办理任务时
//2.2、在办理任务时,添加变量 @Test public void dealProcessTask() throws Exception { String taskId = "42511"; //项目经理审批 Map<String, Object> variable = new HashMap<String, Object>(); variable.put("amount", "300元"); variable.put("reason", "出差"); processEngine.getTaskService().complete(taskId, variable); }
3)使用runtimeService的方法设置
//2.3、使用runtimeService添加变量 @Test public void setVariableByRuntime() throws Exception { String taskId = "47504"; //项目经理审批 Task task = processEngine.getTaskService().createTaskQuery().taskId(taskId).singleResult(); //获得流程实例id String processInstanceId = task.getProcessInstanceId(); //String executionId = "601"; String variableName = "amount3"; Object value = "300元"; processEngine.getRuntimeService().setVariable(processInstanceId, variableName, value); }
4)使用TaskService的方法设置
//2.4、使用runtimeService添加变量 @Test public void setVariableByTask() throws Exception { String taskId = "47504"; //项目经理审批 //String executionId = "601"; String variableName = "amount4"; Object value = "300元"; processEngine.getTaskService().setVariable(taskId, variableName, value); Map<String, Object> variable = new HashMap<String, Object>(); variable.put("amount4", "300元"); variable.put("reason4", "出差"); processEngine.getTaskService().setVariables(taskId, variable); }
4、获取流程变量
1)使用runtimeService的方法获取
//3.2、获取流程变量 @Test public void getVariableByRuntime() throws Exception { String taskId = "47504"; Task task = processEngine.getTaskService().createTaskQuery().taskId(taskId).singleResult(); //获得流程实例id String processInstanceId = task.getProcessInstanceId(); Map<String, Object> variables = processEngine.getRuntimeService().getVariables(processInstanceId); for (Map.Entry<String, Object> entry : variables.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } Object value = processEngine.getRuntimeService().getVariable(processInstanceId, "user"); System.out.println("Value = " + value); } ```2)使用TaskService的方法获取 ```//2.4、使用runtimeService添加变量 @Test public void getVariableByTask() throws Exception { String taskId = "47504"; //项目经理审批 Map<String, Object> variables = processEngine.getTaskService().getVariables(taskId); for (Map.Entry<String, Object> entry : variables.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } } ```*-----------------------------------------------------------------------------------------------------------------------------------------------------*java架构师项目实战,高并发集群分布式,大数据高可用视频教程,共760G--------------------------------------**下载地址:**
https://item.taobao.com/item.htm?id=555888526201
“`
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
+
hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门
—————————————————————————————————————————————————–
阅读全文
0 0
- Java Activiti(6)--流程变量的添加与获取(表act_ru_variable)
- Activiti流程变量的设置与获取(五)
- 【Activiti 基础篇四】流程变量设置与获取方式
- 工作流引擎Activiti学习第四天(七)--- 设置获取与流程变量
- activiti学习--06流程变量:流程变量+变量的类型+流程变量api+设置流程变量1或2+查询流程变量的历史表
- 流程变量的设置与获取
- Activiti进阶(四)——流程变量的设置和获取
- Activiti进阶(四)——流程变量的设置和获取
- Activiti(四)——流程变量的设置和获取
- Activiti进阶(四)——流程变量的设置和获取
- [Java][activiti]Activiti的流程委托功能[getAssignee()与getOwner()的区别]
- activiti中的流程变量
- activiti之流程变量
- Activiti流程变量
- Activiti 流程变量
- Activiti流程变量
- activiti 设置流程变量
- activiti 流程变量
- C语言习题三
- 2.1.5脏读(dirtyRead)
- Java基础学习之java基本语法(4)【数组】
- jsp简介
- 间接寻址--简单操作
- Java Activiti(6)--流程变量的添加与获取(表act_ru_variable)
- Sicily 1798. Alice and Bob
- 模糊控制简介及数学基础 (模糊集合、隶属函数)
- Ural 1003 Parity(并查集)
- leetcode.array--42. Trapping Rain Water
- 算法设计与分析(屈婉玲)网络课学习笔记(一)
- JavaScript是如何实现继承的(六种方式)
- HDU-4476 Cut the rope (枚举、前缀和)
- 前端考试知识点归纳总结