BPMN 2.0条件事件技术疑问:永不触发的条件事件是否会导致系统挂起?
BPMN 2.0条件事件疑问解答
条件事件一直不触发会导致系统挂起吗?
得看条件事件的类型和它在流程里的位置:
- 附着在任务/子流程上的边界条件事件:要是非中断型的,主流程会正常执行任务,条件事件只是处于等待触发状态,不会阻塞主流程;要是中断型的,主任务会暂停等待条件满足,若条件永远达不到,这个分支会卡住,但整个流程是否挂起要看设计——如果还有其他并行分支,别的分支会正常推进,只有这个等条件的分支停在那儿。
- 事件子流程里的条件启动事件:这种子流程只有条件满足才会启动,条件永远不满足的话,子流程就不会触发,主流程不受任何影响,不存在挂起的情况。
- 条件开始事件:这类流程只有条件满足才会生成实例,条件一直不满足的话,流程连实例都不会创建,压根没机会挂起。
结合你提供的示例流程分析
假设你的图是并行网关分出的分支中包含条件事件:
- 如果这条分支是必须完成的路径,那条件永远不满足的话,整个流程会卡在这个节点,到不了后续的汇聚网关,直接导致流程挂起;
- 如果这条分支是可选的非必需路径(比如用了事件网关或者非排他分支),那其他分支完成后,流程能继续推进,不会因为这个未触发的条件事件卡住。
另外,大部分BPMN引擎都支持流程监控和超时配置,你可以添加超时事件来处理这种永远触发不了的情况,避免流程长期停滞。
内容的提问来源于stack exchange,提问作者R TheWriter
相关产品推荐
相关产品推荐

