1

我现在正在做 Mendix 培训。而且我在错误处理部分的知识检查中遇到了一个问题。问题如下

如果使用相同的微流,但主微流上的错误处理是 Custom with Rollback 而子微流上的错误处理是 Custom without Rollback,会发生什么?

而正确的答案是:

Order、OrderLine 和 Log 对象在 Customer 对象提交到数据库时回滚

关于问题的微流是:

在此处输入图像描述

我的理解是:

当主微流程中发生错误时,应回滚创建订单,但应提交客户更改,因为主微流程使用Custom with Rollback,并且在子微流程中,订单线和日志都应提交,因为子微流程使用Custom without Rollback.

问题:

为什么是正确答案The Order, OrderLine, and Log objects are rolled back while the Customer object is committed to the database

下面是图片作为证据:

在此处输入图像描述

4

1 回答 1

1

请注意,3 年前我曾在 Mendix 的微流引擎(以及其他引擎)上工作,但很多事情都发生了变化。看来您正在使用一个对我来说新的概念,即错误事件(您退出子微流的位置),根据https://docs.mendix.com/refguide/error-event上的文档重新抛出捕获的错误早些时候。

我猜这就是发生这种情况的原因,并且如果您在处理错误后以正常的结束事件退出该子微流程,则希望提交订单/订单行/日志。

于 2018-05-08T17:52:11.603 回答