您的位置:首页 > 产品设计 > 产品经理

jbpm的任务管理实现

2005-02-18 15:23 260 查看
一个流程定义有一个TaskMgmtDefinition;一个TaskMgmtDefinition对应多个Actor,同时对应多个Task;
一个Actor有多个Task,可以从TaskMgmtDefinition中通过task的名称直接获取相应的task;

一个流程实例有一个TaskMgmtInstance;一个TaskMgmtInstance对应多个actorInstance,同时对应多个taskInstance;
一个actorInstance有多个taskInstance,可以从TaskMgmtInstance中直接获取相应的taskInstance;

一个TaskNode对例应多个Task
对于这样的流程定义:
<task-node name='a'>
<task name='laundry' />
<task name='dishes' />
<task name='change nappy' />
<transition to='b' />
</task-node>
只有当节点中的三个任务都完成后,流程才进入后面的节点

对于这样的流程定义:
<task-node name='a' signal='first'>>
<task name='laundry' />
<task name='dishes' />
<task name='change nappy' />
<transition to='b' />
</task-node>
当第一个任务完成后,token就指向后面的节点

对于这样的流程定义:
<task-node name='a' signal='never'>>
<task name='laundry' />
<task name='dishes' />
<task name='change nappy' />
<transition to='b' />
</task-node>
三个任务都完成后,token仍然不会指向后面的节点;需要自己手动调用processInstance.signal()
才会驱动流程到下面的节点

对于这样的流程定义:
<task-node name='a' signal='unsynchronized'>>
<task name='laundry' />
<task name='dishes' />
<task name='change nappy' />
<transition to='b' />
</task-node>
token不会在本节点停留,而是直接到后面的节点

jbpm用join/fork/merge/decision也可以实现同样的功能,不过它们的实现办法不同,一个是通过
NODE来实现,一个是通过TASK来实现
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: