【JBPM4】流程实例变量存取

设置流程实例变量

//创建流程引擎
ProcessEngine processEngine = Configuration.getProcessEngine();
//获得执行服务
ExecutionService executionService = processEngine.getExecutionService();
//新建流程变量
Map<String,Object> variable = new HashMap<String,Object>();
//存储用户ID、用户名
variable.put("userId1", "001");
variable.put("userName1", "tom");
//根据流程部署名称获得流程实例,并传入流程变量
ProcessInstance processInstance = executionService.startProcessInstanceByKey("test", variable);

获取单独流程实例变量
//流程实例ID及变量名称
String userId = executionService.getVariable("test.80001", "userId").toString();
String userName = executionService.getVariable("test.80001", "userName").toString();

修改流程实例变量
了 //流程实例ID、变量名称、变量值
executionService.setVariable("test.50001", "userId", "002");

获取所有流程实例变量

//流程实例ID
Set<String> set = executionService.getVariableNames("test.50001");
//遍历输出所有变量名称
Iterator iter = set.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
//获得流程变量集合
Map<String,Object> map = executionService.getVariables("test.50001", set);
//遍历输出所有流程变量的名称及值
Iterator it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry m = (Map.Entry)it.next();
this.print(m.getKey().toString(), m.getValue().toString());
}

posted @ 2014-03-03 09:18  濤叔  阅读(2175)  评论(0编辑  收藏  举报