Activiti设置流程发起用户信息
2016-03-10 17:58
246 查看
先来看一段API调用:
?
查询结果为空,这是为什么?
?
从上面的代码片段中可以看出在启动流程的时候引擎会先从Authentication读取已认证用户信息;现在我们只要能设置认证用户的ID就可以了。
解决办法很简单只要在启动流程之前调用API即可:identityService.setAuthenticatedUserId(userId);
?
当流程启动之后可以到表ACT_HI_PROCINST中查看字段START_USER_ID_的值来验证是否生效。
?
1.原因说明
当通过runtimeService接口启动(startProcessInstance[Byxxx])流程的时候会设置一个变量,代码片段(ProcessDefinitionEntity.java#createProcessInstance):?
2.解决问题
查看API发现接口IdentityService有一个方法:setAuthenticatedUserId(String authenticatedUserId),正是这个方法在其接口实现类:org.activiti.engine.impl.IdentityServiceImpl#setAuthenticatedUserId中调用了Authentication.setAuthenticatedUserId()。解决办法很简单只要在启动流程之前调用API即可:identityService.setAuthenticatedUserId(userId);
?
3.结束
问题很简单,但是官网的手册没有提到,希望让遇到问题的人少走弯路。相关文章推荐
- java.lang.UnsatisfiedLinkError: Can not load XXX library ... JNA不能加载DLL动态库问题
- android实现自定义RelativeLayout可拖动、缩放、旋转TextView-更新版
- Derby数据库安装配置
- Android 在 LinearLayout 添加分割线 divider
- SQL 2005怎么安装 SQL Server 2005安装图解教程
- thinkphp引入类的使用
- 单元格高度自适应简单容易---只针对文本
- java 静态代理 JDK动态代理 Cglib动态代理
- kafka集群扩容以及数据迁移
- My租房网
- CSS总结
- 反射 界面控件赋值
- Android IPC机制 开启多进程
- 动态排序小程序
- rb_tree
- 利用静态服务提升读取Activiti流程图的性能
- 剑指offer 变态跳台阶
- iOS URL Schemes白名单配置
- 在Linux服务器上配置phpMyAdmin
- push本地代码到github出错