1. 设置流程发起人
//设置流程发起人 Authentication.setAuthenticatedUserId(userId); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(procdefKey,businessKey, paras); //这个方法最终使用一个ThreadLocal类型的变量进行存储,也就是与当前的线程绑定,所以流程实例启动完毕之后,需要设置为null,防止多线程的时候出问题。 Authentication.setAuthenticatedUserId(null);
3. 获取流程发起人(需要在启动流程前设置流程发起人)
//www.1b23.com HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery() .processInstanceId(procInsId) .singleResult(); String startUserId = hi.getStartUserId();
3. 获取某个人发起的流程
List<HistoricProcessInstance> list = historyService.createHistoricProcessInstanceQuery() .startedBy(userId) .orderByProcessInstanceStartTime() .list();