Activiti5開發(fā)研究:[2]兼容關(guān)口使用經(jīng)驗
最近的項目中有使用到Activiti5工作流引擎中的InclusiveGateway(兼容關(guān)口),在開發(fā)過程中發(fā)現(xiàn)了一些情況。特此在這里記錄一下希望幫助到在學習Activiti5的朋友們。Defaul
最近的項目中有使用到Activiti5工作流引擎中的InclusiveGateway(兼容關(guān)口),在開發(fā)過程中發(fā)現(xiàn)了一些情況。特此在這里記錄一下希望幫助到在學習Activiti5的朋友們。
Default flow屬性對流程并行執(zhí)行的影響
在使用Activiti5的InclusiveGateway時,設(shè)置Default flow屬性是否會影響流程的并行執(zhí)行情況成為一個關(guān)鍵問題。下面通過開發(fā)截圖和代碼說明來解釋這個問題。
1. 當在bpmn文件中對兼容關(guān)口的Default flow屬性設(shè)置一個默認的流程分支時,可以看到以下情況:
![默認流程分支截圖]()
2. 在設(shè)置了默認流程分支后,如果讓兼容關(guān)口后面的兩個分支條件同時成立,發(fā)現(xiàn)只有一個分支被執(zhí)行。期望的是它可以并行執(zhí)行“內(nèi)線施工”和“外線施工”,但實際上只走了被設(shè)置為默認分支的“外線施工”。
3. 當在bpmn文件中對兼容關(guān)口的Default flow屬性不設(shè)置一個默認的流程分支時,可以看到以下情況:
![無默認流程分支截圖]()
4. 同樣進行相同的操作后,這回出現(xiàn)了并行執(zhí)行“內(nèi)線施工”和“外線施工”的效果。
結(jié)論
根據(jù)上述實驗結(jié)果,可以得出以下結(jié)論:
- 設(shè)置Default flow屬性會影響兼容關(guān)口后面分支的并行執(zhí)行情況。
- 當設(shè)置了默認分支時,只有默認分支會被執(zhí)行,其他分支將被忽略。
- 當不設(shè)置默認分支時,所有滿足條件的分支都會被并行執(zhí)行。
綜上所述,開發(fā)者在使用Activiti5的InclusiveGateway時,需要注意設(shè)置Default flow屬性對流程并行執(zhí)行的影響。正確設(shè)置該屬性可以實現(xiàn)預期的流程控制邏輯。