得到上一个执行者,总是返回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,你是取不到值的。