1. 設置流程發起人
//設置流程發起人 Authentication.setAuthenticatedUserId(userId); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(procdefKey,businessKey, paras); //這個方法最終使用一個ThreadLocal類型的變量進行存儲,也就是與當前的線程綁定,所以流程實例啟動完畢之后,需要設置為null,防止多線程的時候出問題。 Authentication.setAuthenticatedUserId(null);
2. 獲取流程發起人(需要在啟動流程前設置流程發起人)
HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
.processInstanceId(procInsId)
.singleResult();
String startUserId = hi.getStartUserId();
3. 獲取某個人發起的流程
List<HistoricProcessInstance> list = historyService.createHistoricProcessInstanceQuery()
.startedBy(userId)
.orderByProcessInstanceStartTime()
.list();