JBPM工作流(六)——流程变量
1.启动流程实例
|
1
2
3
4
5
6
7
|
// 启动流程实例@Testpublic void startProcessInstance() { // 使用指定key的最新版本的流程定义启动流程实例 ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("test"); System.out.println("processInstanceId=" + pi.getId());} |
2.设置流程变量
a) 一个设置流程变量实例
12345678910//设置流程变量@TestpublicvoidsetVariable() {String executionId ="test.140001";String name ="请假天数";Integer value =3;//将name为"请假天数",value=3的流程变量设置到executionId为test.140001的执行对象上processEngine.getExecutionService().setVariable(executionId, name, value);}b) 所有设置流程变量方法
用到变量的类型:
12345678Object value ="";String executionId ="";String taskId ="";String name ="";String processDefinitionKey ="";String variableName ="";Set<String> variableNames =newHashSet<String>();Map<String, Object> variablesMap =newHashMap<String, Object>();具体方法:
123456789101112// 根据Execution设置一个流程变量processEngine.getExecutionService().setVariable(executionId, name, value);// 根据Execution设置多个流程变量(需要先把流程变量放到一个Map中)processEngine.getExecutionService().setVariables(executionId, variablesMap);// 根据Task设置多个流程变量(需要先把流程变量放到一个Map中,通过Task方法,它会先找到它所属的Execution然后设置流程变量)processEngine.getTaskService().setVariables(taskId, variablesMap);// 使用指定key的最新版本的流程定义启动流程实例,并设置一些流程变量processEngine.getExecutionService().startProcessInstanceByKey(processDefinitionKey, variablesMap);// 办理完指定的任务,并设置一些流程变量processEngine.getTaskService().completeTask(taskId, variablesMap);
3.获取流程变量
a) 一个获取流程变量实例
12345678910//获取流程变量@TestpublicvoidgetVariable() {String executionId ="test.140001";String variableName ="请假天数";//从executionId为test.140001的执行对象上取出流程变量名为"请假天数"的流程变量的valueInteger value = (Integer) processEngine.getExecutionService().getVariable(executionId, variableName);System.out.println(variableName +" = "+ value);}
b) 所有获取流程变量方法
用到变量的类型:
1234String executionId ="";String taskId ="";String variableName ="";Set<String> variableNames =newHashSet<String>();具体方法:
12345678910111213// 根据Execution获取指定名称的一个流程变量processEngine.getExecutionService().getVariable(executionId, variableName);// 根据Execution获取所有流程变量的名称processEngine.getExecutionService().getVariableNames(executionId);// 根据Execution获取指定名称的所有流程变量processEngine.getExecutionService().getVariables(executionId, variableNames);// 根据Task获取指定名称的一个流程变量processEngine.getTaskService().getVariable(taskId, variableName);// 根据Task获取所有流程变量的名称processEngine.getTaskService().getVariableNames(taskId);// 根据Task获取指定名称的所有流程变量processEngine.getTaskService().getVariables(taskId, variableNames);
4.流程变量所支持的值的类型(jBPM User Guide,7.2. Variable types)
jBPM supports following Java types as process variables:
- java.lang.String
- java.lang.Long
- java.lang.Double
- java.util.Date
- java.lang.Boolean
- java.lang.Character
- java.lang.Byte
- java.lang.Short
- java.lang.Integer
- java.lang.Float
- byte[] (byte array)
- char[] (char array)
- hibernate entity with a long id
- hibernate entity with a string id
- serializable
For persistence of these variable, the type of the variable is checked in the order of this list. The first match will determine how the variable is stored.
JBPM工作流(六)——流程变量的更多相关文章
- 工作流Activiti5流程变量 任务变量 setVariables 跟 setVariablesLocal区别
工作流Activiti5流程变量 任务变量 setVariables 和 setVariablesLocal区别 因为网上的资料比较少.结合源码把相关API写下来. 设置流程级别变量: runtime ...
- 工作流JBPM_day01:7-使用流程变量
工作流JBPM_day01:7-使用流程变量 工作流就像流水线 对应数据库中的一张表 ProcessVariableTest.Java import java.util.List; import or ...
- 工作流学习——Activiti流程变量五步曲 (zhuan)
http://blog.csdn.net/zwk626542417/article/details/46648139 ***************************************** ...
- JBPM学习(五):流程变量
1.启动流程实例 // 启动流程实例 @Test public void startProcessInstance() { // 使用指定key的最新版本的流程定义启动流程实例 ProcessInst ...
- JBPM工作流(五)——执行流程实例
概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图. Execu ...
- 工作流学习——Activiti流程变量五步曲
一.前言 上一篇文章我们将流程实例的启动与查询,任务的办理查询都进行了介绍,我们这篇文章来介绍activiti中的流程变量. 二.正文 流程变量与我们寻常理解的变量是一样的,仅仅只是是用在了我们act ...
- Activiti工作流(三)——流程变量
流程变量可以是流程中一系列参数,比如办理人(Assignee),消息(message)等.这些流程变量使得activiti能够应用于更为复杂的业务中,使得流程变得更加灵活可控. 场景(一) 图一:没有 ...
- JBPM工作流
一.开发环境的搭建 1.下载Jbpm4.4 1.1下载地址: https://sourceforge.net/projects/jbpm/files/jBPM%204/jbpm-4.4/ 1.2解压后 ...
- 【Java EE 学习 67 下】【OA项目练习】【SSH整合JBPM工作流】【JBPM项目实战】
一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar ...
随机推荐
- C10K问题
转自:https://www.jianshu.com/p/ba7fa25d3590 C10K问题由来 随着互联网的普及,应用的用户群体几何倍增长,此时服务器性能问题就出现.最初的服务器是基于进程/线程 ...
- android:如何通过chrome远程调试APP中的webView的h5代码
今天出现一个问题,在老板的Mate9 Pro上,我们APP的所有H5页面都是一片空白,但是在其他手机上都是好的,那么我们就怀疑是h5报错了,但是到底是什么错,无法得知,所以就想要可以像在pc的chro ...
- tp5.1的安装与运行流程
今天安装tp5.1的时候出现问题,我这里使用的是将tp直接解压缩后放在项目里面,结果提示下面的错误:Warning: require(D:\workspace\zhiyuedu\vendor/topt ...
- OHDSI——数据标准化
Home › Data Standardization Data Standardization Data standardization is the critical process of bri ...
- sql注入工具:sqlmap命令
sqlmap是一款专业的sql注入工具, 让你告别人工注入, 程序高效自动注入 前提是你有找到注入点 , 工具的官方网站:http://sqlmap.org/ kali系统默认安装sqlmap, 不需 ...
- 微信支付 python版
需求: 微信打开商品列表页面-> 点击商品后直接显示付款页面-> 点击付款调用微信支付 说明 微信支付需要你申请了公众号(appid, key - 用于签名), 商户号(mch_id, A ...
- 一步步教你轻松学支持向量机SVM算法之理论篇1
一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...
- Python 进制转换 二进制 八进制 十进制 十六进制
Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...
- make[1]: *** [storage/perfschema/unittest/CMakeFiles/pfs_connect_attr-t.dir/all] 错误 2 解决方法
make[2]: *** [storage/perfschema/unittest/pfs_connect_attr-t] 错误 1 make[1]: *** [storage/perfschema/ ...
- 17.翻译系列:将Fluent API的配置迁移到单独的类中【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/move-configurations-to-seperate-class-in-cod ...