jbpm的任务管理实现

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

一个流程定义有一个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来实现

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有