主微流带回滚自定义错误处理、子微流不带时的执行结果咨询
Mendix主/子微流不同错误处理策略的行为解析
问题场景
若使用相同的微流,但主微流的错误处理为
Custom with Rollback,子微流的错误处理为Custom without Rollback,会发生什么?
正确结果
Order、OrderLine和Log对象会回滚,而Customer对象会提交至数据库
原因解析
这里的核心要吃透Mendix中事务边界和错误处理规则的交互逻辑:
- 主微流配置
Custom with Rollback时,它会作为一个独立的事务边界存在。一旦主微流触发错误处理流程,这个事务范围内所有未提交的对象变更都会被回滚。 - 子微流使用
Custom without Rollback时,它不会开启新的事务,而是直接将自身的对象变更提交到数据库。这部分提交是即时生效的,后续主微流的回滚操作无法影响已经提交的内容——也就是Customer对象会被保留在数据库中。 - 而Order、OrderLine和Log这些对象是在主微流的事务上下文里操作的,没有被提前提交,所以会随着主微流的回滚被撤销。
内容的提问来源于stack exchange,提问作者guradio
相关产品推荐
相关产品推荐

