虽然jbpm4中已经有用户体系,但实际项目中也会有自己的用户体系,我们肯定希望在jbpm4中用我们自己系统的用户体系,那这要怎样整呢,当然jbpm4已经提供了接口,我用一个简单的例子来说下。
OK,现在在你的jpdl流程xml中的assignee和candidate-groups属性值写系统的用户ID和角色ID即可。
jbpm中有分组的概念,但我们系统中也许没有分组,不过角色总该有吧,那我就用角色来当jbpm中的分组好了,具体步骤如下。
2、新建类,比如类名叫UserSession,实现org.jbpm.pvm.internal.identity.spi.IdentitySession接口,这个接口也有一些方法需要实现,先不管怎么实现这些方法,有返回值的给它返回null,没有的就空着吧。然后找到public List<Group> findGroupsByUser(String userId)这个方法,这方法的作用是通过用户ID查询并返回角色列表,那我们就通过传入的用户ID查询到对应的Role呗,之前我们已经让Role实现org.jbpm.api.identity.Group接口了,所以将查到的Role加如List返回即可。
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<transaction-context>
<object class="com.shine.jbpm.UserSession"/>
</transaction-context>
</jbpm-configuration>
其中class改成你的UserSession类。
OK,现在在你的jpdl流程xml中的assignee和candidate-groups属性值写系统的用户ID和角色ID即可。