一,start
start活动的意义在于指定了一个流程实例应该从哪里开始,即流程定义的入口。
start的子元素:
name:活动的名称,在启动活动没有内部转移时,name名称是可选的。
transition:用来指定流出的转移,指向流程的下一个活动。
二,end
end活动的意义在于结束了一个流程实例,即流程定义的结束点。
一个流程可以有多个end ,这样就很容易显示出流程处理实例的不同结果。如:
特殊的end-cancel和end-error。在一些特定的流程里,需要区分到底是为什么结束的,怎么结束的。如差旅费报销申请流程,可以被批准而正常结束;也可以被领导不批准而被取消。在一般的流程里一般不区分end和end-cancel,但是如果做的在精细点,可以让不同的结果,流向不同的结束。
三,state
state活动作为一个等待状态的活动。流程处理的流向会在外部触发器调用提供的API之前一直等待。
四,实例
1.序列状态节点
流程定义
state.jpdl.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<process name="state" xmlns="http://jbpm.org/4.4/jpdl">
<start g="28,95,48,48" name="start1">
<transition g="-10,-10" name="to a" to="a"/>
</start>
<end g="540,94,48,48" name="end1"/>
<state g="123,96,92,52" name="a">
<transition g="-15,-13" name="to b" to="b"/>
</state>
<state g="267,92,92,52" name="b">
<transition g="-13,-19" name="to c" to="c"/>