您好,登錄后才能下訂單哦!
Activiti的基本事件是什么,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
本文activti的基本事件和上一篇介紹Activiti學(xué)習(xí)(五)——基礎(chǔ)構(gòu)件相輔相成?;A(chǔ)構(gòu)件時(shí)activiti畫流程圖時(shí)的基本構(gòu)件,而基本事件則存在于不同的構(gòu)建中,發(fā)揮著作用。
個(gè)人理解雖然我所提到的基本事件和基本構(gòu)件名字聽起來相似,但還是有著本質(zhì)區(qū)別:基本事件更加偏向于功能方面,因而基本事件被包含在各種基本構(gòu)件當(dāng)中;而基本構(gòu)件更多的描述的是畫圖中的某一個(gè)元素在流程圖中的位置信息。
基本事件主要分為:拋出事件和捕獲事件。
定時(shí)事件定義有三種:timeDate(指定一個(gè)觸發(fā)的特定時(shí)間)、timeDuration(制定在多久時(shí)間后被觸發(fā))、timeCycle(指定隔多久觸發(fā)一次),其中timeCycle可以使用 cron表達(dá)式。
<timerEventDefinition id="startevent1_ED_1"> <timeDuration><![CDATA[PT5S]]></timeDuration> </timerEventDefinition>
timeEventDefinition可以被包含在開始事件、中間捕獲事件或者邊界事件中。
錯(cuò)誤事件可以被包含在開始事件、邊界事件或者結(jié)束事件中。
錯(cuò)誤事件主要處理運(yùn)行各種拋出的錯(cuò)誤,使用時(shí)需要先聲明error元素,再將error元素通過綁定id的方式綁定到errorEventDefination上,程序可以拋出BPMNerror,并通過 設(shè)置拋出的錯(cuò)誤代碼來匹配錯(cuò)誤errorCode來匹配xml中的error元素,從而觸發(fā)錯(cuò)誤事件。errorcode不設(shè)置的話,所有錯(cuò)誤都能捕獲。
<error id=”myError” errorCode=”123”></error> <process id=”testProcess” name=”testProcess” > <endEvent id=”myErrorEndEvent”> <errorEventDefinition errorRef=”myError”/> </endEvent> </process>
可以使用在邊界事件、中間捕獲時(shí)間、中間拋出事件中。
編寫的形式和錯(cuò)誤事件類似。但需要注意的時(shí)信號(hào)事件必須定義name屬性。
<signal id=”signalA” name=”signalA” ></signal> <process id=”testProcess” name=” testProcess” > <signalEventDefinition signalRef=”signalA”></signalEventDefinition> </process>
可以使用在開始事件和中間捕獲事件中。
編寫的形式依然和錯(cuò)誤事件信號(hào)時(shí)間類似。
信號(hào)事件和消息時(shí)間都是發(fā)送一個(gè)信息來提示完成節(jié)點(diǎn),區(qū)別是,信號(hào)事件類似于廣播,所有人都都可以接受這個(gè)信號(hào),但是消息時(shí)間類似于私信,只有指定單個(gè)節(jié)點(diǎn)可以接受信息。
<message id=”myMsg” name=”myMsg”></message> <process id=”medProcess” name=”medProcess”> <messageEventDefinitin messageRef=”myMsg”></messageEventDefinition> </process>
取消事件定義可以用在事務(wù)子流程模型中,取消事件可以使用在邊界事件和結(jié)束事件中。
<cancelEventDefinition></cancelEventDefinition>
取消邊界事件時(shí)catching事件,它會(huì)等待被觸發(fā);取消結(jié)束事件時(shí)throwing事件。
補(bǔ)償機(jī)制主要用于對(duì)于已經(jīng)成功完成的事件做回退處理。補(bǔ)償定義可以嵌套在開始事件、中間catching事件、中間throwing事件和結(jié)束事件。//todo
bpmn2.0規(guī)范中除了上述的常用事件還定義一些其他的事件:條件事件定義、升級(jí)事件定義、連接事件定義和終止事件定義。
看完上述內(nèi)容,你們掌握Activiti的基本事件是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。