錯誤邊界事件
定義
錯誤邊界事件依附在某個流程活動中,用于捕獲節(jié)點范圍內(nèi)拋出的錯誤,一般用在嵌入子流程
或者調(diào)用活動,也可以用于其它節(jié)點。當(dāng)錯誤邊界事件依附的節(jié)點拋出 BPMNError 業(yè)務(wù)異常時銷
毀該活動,錯誤邊界事件自動被激活,流程執(zhí)行會繼續(xù)沿著錯誤邊界事件的外出順序流繼續(xù)執(zhí)行。
圖形標(biāo)記
錯誤邊界事件顯示成一個普通的中間事件(圓圈內(nèi)部有一個小圓圈)放在節(jié)點的標(biāo)記上,內(nèi)部
有一個錯誤小圖標(biāo)。錯誤小圖標(biāo)是白色的,表示它是一個捕獲事件,如下圖所示:
XML內(nèi)容
錯誤邊界事件的 XML 內(nèi)容是普通邊界事件的聲明,包含一個錯誤定義子元素:
<error id="theError" errorCode="410" />
<process id="messageBoundaryInterrputingEventProcess">
<userTask id="usertask1" name=" "></userTask>
<boundaryEvent id="errorBoundaryInterrputingEvent" name="Timer"
attachedToRef="usertask1" cancelActivity="false">
<errorEventDefinition errorRef="theError"></errorEventDefinition>
</boundaryEvent>
</process>
使用示例
錯誤邊界事件通過設(shè)置 errorRef 屬性引用錯誤信號,錯誤信號的 errorCode 用于查找匹配的錯
誤捕獲邊界事件。具體規(guī)則是這樣的:
- 如果設(shè)置了 errorRef,并引用了一個已定義的錯誤,邊界事件就只捕獲錯誤代碼與之相同的錯誤。
- 如果設(shè)置了 errorRef,但不匹配任何已定義的錯誤,errorRef 就會當(dāng)做 errorCode 使用。
- 如果沒有設(shè)置 errorRef,錯誤邊界事件將會捕獲任何錯誤事件,無論錯誤的 errorCode 是什么。
界面操作
注意
- 當(dāng)錯誤邊界事件依附于子流程時,它會為所有子流程內(nèi)部的節(jié)點創(chuàng)建一個作用范圍。
- 當(dāng)子流程的錯誤結(jié)束事件拋出的錯誤時,這個錯誤會往上層作用域傳遞,直到找到一個錯誤事件定義匹配的錯誤邊界事件。
總結(jié)
錯誤邊界事件就沒有什么中斷與不中斷,就只有中斷
歡迎加入QQ群學(xué)習(xí)交流:582010059
視頻地址:
錯誤邊界事件文章來源:http://www.zghlxwxcb.cn/news/detail-555694.html
演示demo
錯誤邊界事件
本文中內(nèi)容和案例出自賀波老師的書《深入Activiti流程引擎:核心原理與高階實戰(zhàn)》,書中的介紹更全面、詳細(xì),推薦給大家。
深入Activiti流程引擎文章來源地址http://www.zghlxwxcb.cn/news/detail-555694.html
到了這里,關(guān)于Flowable邊界事件-錯誤邊界事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!