一个关于Fork/Join的问题
|
akteo
2008-07-04
代码:
<?xml version="1.0" encoding="GBK"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="convertor15">
<!-- START-STATE -->
<start-state name="start">
<transition to="startFork" name="start to startFork"/>
</start-state>
<!-- NODES -->
<end-state name="end"/>
<task-node name="a">
<transition to="b" name="to b"/>
<task name="a's Task">
<assignment actor-id="a"/>
</task>
</task-node>
<task-node name="b">
<transition to="b Fork" name="b to Fork"/>
<task name="b's Task">
<assignment actor-id="b"/>
</task>
</task-node>
<task-node name="c">
<task name="c's Task">
<assignment actor-id="c"/>
</task>
<transition to="join1"></transition>
</task-node>
<task-node name="d">
<task name="d's Task">
<assignment actor-id="d"/>
</task>
<transition to="join2"></transition>
</task-node>
<task-node name="e">
<transition to="f" name="to f"/>
<task name="e's Task">
<assignment actor-id="a"/>
</task>
</task-node>
<task-node name="f">
<task name="f's Task">
<assignment actor-id="b"/>
</task>
<transition to="join2"></transition>
</task-node>
<task-node name="g">
<task name="g's Task">
<assignment actor-id="a"/>
</task>
<transition to="join1"></transition>
</task-node>
<fork name="startFork">
<transition to="a" name="startForka"/>
<transition to="e" name="startForke"/>
</fork>
<fork name="b Fork">
<transition to="c" name="to c"/>
<transition to="d" name="to d"/>
</fork>
<join name="join1">
<transition to="end"></transition>
</join>
<join name="join2">
<transition to="g"></transition>
</join>
</process-definition>
根据上面构建的模型,当任务节点f和d的任务都完成以后,整个过程就停在Join2上了,任务节点g就不能够到达 jBPM好像不支持Join和多个Fork分支相连的情况 但是现实中的流程就会出现这样的情况,不知道有没有好的办法解决此类问题? 请教大家了 |
|
|
richmond
2008-07-12
token层次不对吧
/ |-a-- | |-c | | | |-d |-e 估计jbpm只能join同一层的token 就这个例子看来,c、d做完先join了,再跟f join再做g其实都是一样的... 反正就是保证d、f先做完才能做g,然后c和g完成了才能结束 |

