本文主要是介绍JBPM的任务分派机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
工作流的各种标准里面通常强调的是流程本身的定义,对任务分派这块通常没有提及,而这块又是工作流应用必不可少的。
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
这篇关于JBPM的任务分派机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!