得到上一个执行者,总是返回null,上一个帖子的方法不行?
|
lyo
2007-07-19
大家好,在流程在某个环节被退回的情况下,是不是需要找到上一个 preActorId呢?我在一个节点配置了一个事件:
<task-node name="pending" signal="last">
<task name="bank" swimlane="banker">
<event type="task-assign">
<action name="testaction" class="lyo.hotmail.util.TaskAssignHandler"/>
</event>
</task>
<transition name="pending2end" to="end"/>
</task-node>
任务 bank 分配给banker的时候,执行 TaskAssignHandler这个类,类内容很简单:
public class TaskAssignHandler implements ActionHandler {
private static final Log log=LogFactory.getLog(TaskAssignHandler.class);
public void execute(ExecutionContext arg0) throws Exception {
String preactor=arg0.getTaskInstance().getPreviousActorId();
log.info("################# TaskAssignHandler Get preactor(): "+preactor);
}
}
但是 preactor 总是返回 null?? 大家有用过这个方法的吗?我的整个流程节点是:
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="yytest">
<swimlane name="banker">
<assignment class="lyo.hotmail.util.BankSwimlane"/>
</swimlane>
<swimlane name="casher">
<assignment class="lyo.hotmail.util.CashSwimlane"/>
</swimlane>
<start-state name="start">
<task name="task">
</task>
<transition name="start2charge" to="updating assign"></transition>
</start-state>
<state name="updating assign">
<transition name="updating2charge" to="charge" />
</state>
<task-node name="charge" signal="last">
<task name="cash" swimlane="casher"/>
<transition name="charge2pending" to="pending"/>
</task-node>
<task-node name="pending" signal="last">
<task name="bank" swimlane="banker">
<event type="task-assign">
<action name="testaction" class="lyo.hotmail.util.TaskAssignHandler"/>
</event>
</task>
<transition name="pending2end" to="end"/>
</task-node>
<end-state name="end"/>
</process-definition>
|
|
|
youngliuus
2007-07-20
preActor是不会被persistent的field,你是取不到值的。
|

