方案一: 来自网络(实测无效)
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();