背景
流程发起后,一般需要前置设置流程发起人。以在业务上区别这个归属谁。设置成功之后,一般会在act_hi_procinst表的start_user_id中有值。
代码实现
代码实现
camunda
//引入服务
@Autowired
private IdentityService identityService;
//设置流程发起人
identityService.setAuthenticatedUserId(userName);
//发起流程
activiti
- activiti6设置流程发起人
@Resource
IdentityService identityService;
public void setStarter(String userId){
identityService.setAuthenticatedUserId(userid);
}
- activiti7 设置流程发起人
import org.activiti.engine.impl.identity.Authentication;
public void setStarter(String userId) {
-----
Authentication.setAuthenticatedUserId(userId);
}
flowable
1.第一种方式, 直接调用原生API
Authentication.setAuthenticatedUserId(sysUser.getUsername());
2.设置流程启动人是和当前线程绑定的,所以是线程安全
try {
identityService.setAuthenticatedUserId("bono");
runtimeService.startProcessInstanceByKey("someProcessKey");
} finally {
identityService.setAuthenticatedUserId(null);
}
更多关于工作流的知识,请访问www.jeecgflow.com