方案一: 來自網絡(實測無效)
String username ='admin';
Authentication.setAuthenticatedUserId(username);
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, businessKey, variables);
Authentication.setAuthenticatedUserId(null);
方案二: 來自網絡(實測無效)
String username ='admin';
identityService.setAuthenticatedUserId(username);
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, businessKey, variables);
方案三: 自己動手
Map<String,Object> variables = Maps.newHashMap();
variables.put(ProcessConstant.TASK_VARIABLE_CREATE_USER, 'admin');
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, businessKey, variables);
查詢:
HistoricProcessInstanceQuery historyQuery = historyService.
createHistoricProcessInstanceQuery()
.variableValueEquals(ProcessConstant.TASK_VARIABLE_CREATE_USER, 'admin')
.orderByProcessInstanceStartTime().desc();