使用網(wǎng)關(guān):
????flowable 常用的有三種網(wǎng)關(guān):并行網(wǎng)關(guān)抗楔,排他網(wǎng)關(guān)俊扭,包容網(wǎng)關(guān)
????并行網(wǎng)關(guān):所有網(wǎng)關(guān)后的活動(dòng)都會(huì)同時(shí)啟動(dòng)队橙,即使有條件也會(huì)忽略條件,匯聚時(shí)萨惑,所有完成的線路在此等候捐康。直到所有的線路都執(zhí)行完成,才繼續(xù)向下執(zhí)行
????排他網(wǎng)關(guān):按照輸出流的順序計(jì)算 庸蔼,第一個(gè)滿足條件的活動(dòng)會(huì)啟動(dòng)解总,其他的直接忽略,如果所有的條件都不滿足姐仅,引擎會(huì)拋出異常花枫。只有一個(gè)分支
????包容網(wǎng)關(guān):判斷每一個(gè)條件,符合條件的活動(dòng)啟動(dòng)掏膏,不符合不會(huì)啟動(dòng)劳翰。匯聚時(shí),等待所有啟動(dòng)的線路全部完成馒疹,才會(huì)繼續(xù)下一個(gè)節(jié)點(diǎn)
????注:此處的啟動(dòng)佳簸,是指活動(dòng)產(chǎn)生相應(yīng)的活動(dòng)實(shí)例
?不使用網(wǎng)關(guān):
????所有的分支活動(dòng)都會(huì)啟動(dòng),匯聚節(jié)點(diǎn)會(huì)啟動(dòng)多次行冰。
圖例講解:
? ??
例1:
不存在網(wǎng)關(guān)時(shí)溺蕉,啟動(dòng)流程同時(shí)開啟伶丐,A,B兩個(gè)活動(dòng)疯特。 A提交產(chǎn)生C哗魂, B提交也會(huì)產(chǎn)生C。同時(shí)會(huì)存在兩個(gè)C漓雅,提交一個(gè)C的時(shí)候录别,流程不會(huì)結(jié)束,另外一個(gè)C還可以繼續(xù)提交邻吞,第二個(gè)C提交后组题,流程結(jié)束。
例:2:
流程同時(shí)產(chǎn)生A抱冷,B 兩個(gè)活動(dòng)崔列,A提交了到達(dá)網(wǎng)關(guān),等待B提交旺遮。B提交了才會(huì)到達(dá)C
總結(jié):使用網(wǎng)關(guān)按照網(wǎng)關(guān)的規(guī)定執(zhí)行赵讯,不使用網(wǎng)關(guān),之前啟動(dòng)耿眉,即使同一個(gè)節(jié)點(diǎn)可能啟動(dòng)多次边翼。