首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

利用JBPM4.4的AssignmentHandler兑现用户角色整合另一种构思

2012-11-06 
利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思Jbpm4提供的IdentitySession接口并不是一种很

利用JBPM4.4的AssignmentHandler实现用户角色整合另一种构思

Jbpm4提供的IdentitySession接口并不是一种很好的处理方式,鉴于我们每个业务系统都有一套自己的用户及权限认证管理机制,需要与jbpm4.4集成的话,就比较周折了,我们经常需要查询的就是用户自己的任务。jbpm4的任务里有一个比较好的任务人员指派定义方式,就是使用AssignmentHandler接口,其定义如下所示:

?

?以上的userIds的1,以及roleIds的1,2则代表我们系统中的用户id与角色的id,其值由后台用户在后面通过界面来设置。

?

其设置后,就生成以上的代码写至jbpm4_lob表中的blobvalue字段中去则可,这是持久化的处理。

?

也可以临时调用类似以下的代码动态实现以上效果:

?

?

不过该方式没有持久久,重启系统后,保存的用户及角色设置并不会生效。

?

UserAssignHandler类代码如下:

?

?

?

   </field> 
</assignment-handler>
你好,请问如果我在定义中这样写,又想在代码中也可以动态给org.jbpm.examples.task.assignmenthandler.AssignTask传递参数,该怎样做?
(如果在表单选了指派人,则只分派给所选的人,否则默认分派给johndoe)//在表单提交中指定了固定的执行人员 
if(StringUtils.isNotEmpty(assignId)){ 
    assignable.setAssignee(assignId); 
    return; 
}
这样的话如果execution.getVariable(Constants.FLOW_ASSIGN_ID)获取到的值不为空,那该流程的后面每一步都能取到该值?
如果在流程的第一个表单选择指派一个人,然后之后的环节又不指派人,那不是后面的环节都只有这个指派的人有权限么?

热点排行