关于JBPM循环的问题求救 万分火急,请教高手!!!!

zzb888 2007-07-12
我的流程定义如下

<?xml version="1.0" encoding="UTF-8"?>

<process-definition
  xmlns="urn:jbpm.org:jpdl-3.1"  name="test">
   <start-state name="start">
      <transition name="d11" to="decision1"></transition>
   </start-state>
   <decision name="decision1">
     <handler class="com.test.decision.D1Handler"/>   
      <transition name="t1" to="task1"></transition>
      <transition name="t2" to="task2"></transition>
   </decision>
   <task-node name="task1">
      <task name="task1">
          <assignment class="com.test.task.T1AssignmentHandler"></assignment>
      </task>
      <event type="node-leave">
         <action name="act1" class="com.test.action.Act1ActionHandler"></action>
      </event>
      <transition name="d21" to="decision2"></transition>
   </task-node>
   <task-node name="task2">
      <task name="task1">
          <assignment class="com.test.task.T2AssignmentHandler"></assignment>
      </task>
      <event type="node-leave">
         <action name="act2" class="com.test.action.Act2ActionHandler"></action>
      </event>
      <transition name="d22" to="decision2"></transition>
   </task-node>
   <decision name="decision2">
      <handler class="com.test.decision.D2Handler"/> 
      <transition name="e1" to="end"></transition>
      <transition name="d12" to="decision1"></transition>
   </decision>
   <end-state name="end"></end-state>
</process-definition>


在最后的决策节点decision2里,我在com.test.decision.D2Handler写了如下代码
public String decide(ExecutionContext executionContext) throws Exception {
System.out.println("=====进入决策点二=======D2Handler.decide()==");
String nextNode = (String) executionContext.getContextInstance()
.getVariable(RequestVariable.nextNode);
if (nextNode.compareTo("tt") == 0) {
return "e1";
} else {
return "d12";
}
}


发现根本不运行,流程完成task1后就结束了,请问如何让流程调转到decision1


万分火急,请教高手!!!

Global site tag (gtag.js) - Google Analytics