Child tokens do not end at Join ??
michaelholtzman Apr 13, 2006 4:38 PMI have a workflow that forks into two branches and are later joined.
<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns:jpdl="http://jbpm.org/3/jpdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jbpm.org/3/jpdl http://jbpm.org/xsd/jpdl-3.1.xsd" name="TestFork"> <start-state name="Start"><transition name="StartTransition" to="InitializeVariables"/></start-state> <node name="InitializeVariables"> <action class="com.olf.workflowmgr.action.VariableInitActionHandler"> <VarList> <el>Proceed|Boolean|False|</el> <el>Flag|CustomList|One|One,Two,Three</el> <el>ReturnStatus|PickList||BPM_RETURN_CODE_TABLE</el> </VarList></action> <transition name="StartProcess" to="Fork"/></node> <end-state name="Done"/> <fork name="Fork"><transition name="T1_1_Task" to="Task"/><transition name="T1_2_Var" to="Var"/></fork> <node name="Var"> <action class="com.olf.workflowmgr.action.VariableUpdateActionHandler"> <VarList> <el>Flag|Two</el></VarList> </action><transition name="T2_1_Join" to="Join"/></node> <task-node name="Task"> <task name="Task_3" blocking="true"> <assignment class="com.olf.workflowmgr.action.TaskAssignmentHandler"> <assignee>trader1</assignee> </assignment> <controller> <variable name="Flag" access="read"/> <variable name="Proceed" access="read,write,required"/> </controller> </task> <transition name="T3_3_Join" to="Join"/> <transition name="Task_Expire_Expired" to="Expired"/> <timer name="Task_Expire" duedate="1 minute" transition="Task_Expire_Expired"/> </task-node> <node name="Expired"> <action class="com.olf.workflowmgr.action.VariableUpdateActionHandler"> <VarList> <el>Flag|Three</el> </VarList> </action> <transition name="T4_1_Join" to="Join"/> </node> <join name="Join"><transition name="T5_1_Mail" to="Mail"/> </join> <node name="Mail"><action class="com.olf.workflowmgr.action.EmailActionHandler"> <From>trader1</From> <To>trader1</To> <Subject>Fork completed</Subject> <Body>Flag value is $Flag;</Body></action><transition name="T6_1_WWW" to="WWW"/></node> <state name="WWW"> <timer name="WWW_Expire" duedate="1 minute" transition="WWW_Expire_WWW"/> <transition name="T7_7_Done" to="Done"/> <transition name="WWW_Expire_WWW" to="WWW"/> </state> </process-definition>
When I look at the process instance in its final state ("WWW"), it appears as if the child tokens from the fork are still active. Is this the correct behavior? I would expect that the join would end the child tokens when the parent is reactivated.
Please explain. Thanx.