2005年6月16日
#
Fork : A fork spawns(产生) multiple concurrent(并发) paths of execution.
<process-definition name="the fork-in-loop process">
<swimlane name="initiator"/>
<start-state name="start" swimlane="initiator">
<transition to="aFork"/>
</start-state>
<fork name="aFork">
<transition to="aState"/>
</fork>
<state name="aState" swimlane="initiator">
<transition to="aJoin"/>
</state>
<join name="aJoin">
<transition to="aFork"/>
</join>
<end-state name="end"/>
</process-definition>
<process-definition name="the scheduler process">
<swimlane name="initiator"/>
<start-state name="start" swimlane="initiator">
<transition to="only state">
</start-state>
<state name="only state" swimlane="initator">
<action>
<delegation class="org.jbpm.delegation.action.SchedulerJobActionHandler">
<job>
<delegation class="org.jbpm.scheduler.LoggingActionHandler"/>
<delay>0</delay> (延迟)
<name>halleluya</name>
</job>
</delegation>
</action>
<action event-type="state-leave">
<delegation class="org.jbpm.delegation.action.CancelJobActionHandler">halleluya</delegation>
</action>
<transition to="end"/>
</state>
<end-state name="end"/>
</process-definition>
Decision : A decision decides between multiple paths of execution which are exclusive(独占的)
<process-definition name="the decision process">
<swimlane name="initiator"/>
<start-state name="start" swimlane="initiator">
<transition to="only descision">
</start-state>
<decision name="only descision">
<delegation class="org.jbpm.impl.DecisionTestDecisionHandler"/>
<transition name="left" to="inside the left street"/>
<transition name="right" to="inside the right street"/>
</decision>
<state name="inside the left street" swimlane="initiator">
<transition to="end"/>
</state>
<state name="inside the right street" swimlane="initiator">
<transition to="end"/>
</state>
<end-state name="end"/>
</process-definition>