启动事件和结束事件
2018-08-18 本文已影响36人
小鱼嘻嘻
启动事件与结束事件
启动事件与结束事件作为bpmn2.0规范很重要的一部分,分别负责流程的开启和结束。
image.png
启动事件
每个流程总会以启动事件为入口
空启动事件
xml描述如下:
<startEvent id="start1" name="StartEvent"> </startEvent>
由于启动事件标签中没有其他任何元素定义,因此称为空启动事件
属性名称 | 属性说明 | 实例 |
---|---|---|
activiti:formKey | 用来存储事件启动相关的表单文件 | <startEvent activiti:formKey="leave" activiti:initiator="xixi" id="start" name="StartEvent"/> |
activiti:initiator | 用来记录启动流程的人的ID,启动之后就是startUserId | <startEvent activiti:formKey="leave" activiti:initiator="xixi" id="start" name="StartEvent"/> |
表单分类
- 外置表单
表单的内容都放在.form的文件里,可以是任何文本字符,常见的是html。 - 动态表单
不通过启动前指定,而是在流程定义文件中设置表单中元素集合。
定时启动事件
定时启动可以用于一次性定时启动或者特定时间间隔后启动
image.png
对应的XML描述:
<startEvent id="timer" name="time process" >
<timerEventDefinition>
<timeCycle>R1/2018-08-15T00:00/PM1M</timeCycle>
</timerEventDefinition>
</startEvent>
属性名称 | 属性说明 | 实例 |
---|---|---|
timeDate | 一次性启动 | <timeDate>R1/2018-08-15T00:00/PM1M</timeDate> |
timeDuration | 设置多长时间启动 | <timeDuration>PM10M</timeDuration> |
timeCycle | 周期性循环启动 | <timeCycle>R1/2018-08-15T00:00/PM1M</timeCycle> |
异常启动事件
异常启动事件可以触发一个异常子流程,他总是在另外一个流程在异常结束的时候触发
image.png
结束事件
开始事件是不可或缺的,结束事件是可以没有的。
空结束事件
结束事件是抛出类型的,空结束事件不处理抛出结果,也可以理解为抛出一个空。可以理解为流程正常结束,不需要执行其他的操作了。
<endEvent id = "end" name="end" ></endEvent>
异常结束事件
异常结束事件是有抛出结果的,它需要定义抛出错误码,如果找到了异常开始事件错误码,就会触发异常开始事件。
image.png
对于的XML
<endEvent id="end1" name="error end">
<errorEventDefinition errorRef="AIA-001"></errorEventDefinition>
</endEvent>
取消结束事件
取消结束事件可以取消一个事物子流程的执行,同时也只能在子流程中执行。
image.png
对于的XML
<endEvent id="cancel">
<cancelEventDefinition/>
</endEvent>