啟動事件與結(jié)束事件
啟動事件與結(jié)束事件作為bpmn2.0規(guī)范很重要的一部分涩盾,分別負責(zé)流程的開啟和結(jié)束。
啟動事件
每個流程總會以啟動事件為入口
空啟動事件
xml描述如下:
<startEvent id="start1" name="StartEvent"> </startEvent>
由于啟動事件標(biāo)簽中沒有其他任何元素定義,因此稱為空啟動事件
屬性名稱 | 屬性說明 | 實例 |
---|---|---|
activiti:formKey | 用來存儲事件啟動相關(guān)的表單文件 | <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"/> |
表單分類
- 外置表單
表單的內(nèi)容都放在.form的文件里捆姜,可以是任何文本字符锌俱,常見的是html炭臭。 - 動態(tài)表單
不通過啟動前指定叫乌,而是在流程定義文件中設(shè)置表單中元素集合。
定時啟動事件
定時啟動可以用于一次性定時啟動或者特定時間間隔后啟動
對應(yīng)的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 | 設(shè)置多長時間啟動 | <timeDuration>PM10M</timeDuration> |
timeCycle | 周期性循環(huán)啟動 | <timeCycle>R1/2018-08-15T00:00/PM1M</timeCycle> |
異常啟動事件
異常啟動事件可以觸發(fā)一個異常子流程徽缚,他總是在另外一個流程在異常結(jié)束的時候觸發(fā)
結(jié)束事件
開始事件是不可或缺的,結(jié)束事件是可以沒有的革屠。
空結(jié)束事件
結(jié)束事件是拋出類型的凿试,空結(jié)束事件不處理拋出結(jié)果,也可以理解為拋出一個空似芝∧峭瘢可以理解為流程正常結(jié)束,不需要執(zhí)行其他的操作了党瓮。
<endEvent id = "end" name="end" ></endEvent>
異常結(jié)束事件
異常結(jié)束事件是有拋出結(jié)果的详炬,它需要定義拋出錯誤碼,如果找到了異常開始事件錯誤碼寞奸,就會觸發(fā)異常開始事件呛谜。
對于的XML
<endEvent id="end1" name="error end">
<errorEventDefinition errorRef="AIA-001"></errorEventDefinition>
</endEvent>
取消結(jié)束事件
取消結(jié)束事件可以取消一個事物子流程的執(zhí)行,同時也只能在子流程中執(zhí)行枪萄。
對于的XML
<endEvent id="cancel">
<cancelEventDefinition/>
</endEvent>