JBPM的任务分派机制

来源:互联网 发布:手机开通淘宝网店步骤 编辑:程序博客网 时间:2024/05/17 18:02

工作流的各种标准里面通常强调的是流程本身的定义,对任务分派这块通常没有提及,而这块又是工作流应用必不可少的。

JBPM实现两种任务分派机制:

1 Client based assignment

基本思想就是用户自己很清楚整个流程由哪些人来执行。流程定义文件中只指定流程执行的节点步骤。而在用户接口的每一步执行前,让用户手工输入下一步节点的执行人。这个有点类似通达OA的自由流程。

2 Process based assignment

就是在流程定义中规定好某个节点由谁来执行。有很多不同的asignHandler,例如直接给出用户名,或者指定为上一个流程执行的用户名,或者使用某种表达式来给出用户。

额外补充:关于将一个任务分派给一个组

具体场景:比如说呼叫中心接到一个保修任务,报务员把任务分给维修部,维修部有很多人都可以处理这个业务,所以流程执行的时候,我们不知道谁将最终执行.只能是当前手头空闲的人来执行。

这种情况的处理方法是,建立一个包含用户和用户所在的组的两个任务列表

 个人任务列表

1 do...[action]

2 do..[action]

 组任务列表

1do..[take]

当一个任务被分派给一个组的时候,该任务出现在该组所有成员的组任务列表里面。当前可以执行这个任务的

用户,点击take,把这个任务从组任务列表里面取到自己的任务列表里面。现在该任务就归这个人所有,其他人的组任务列表里面不再显示该任务。这里完成了一个reassignment。

注意:对于actor,在JBPM里面people,groups,systems都是通过一个actorId来标示的。

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=333028