Mendix Обработка ошибок для пользовательских ошибок

Я сейчас тренируюсь на Мендиксе. И я был прослушан вопросом в проверке знаний для части Обработка ошибок. Вопрос ниже

Что произойдет, если будут использоваться те же микропотоки, но обработка ошибок в основном микропотоке - "Пользовательский с откатом", а обработка ошибок в субмикропотоке - "Пользовательский без отката"?

И правильный ответ:

Объекты Order, OrderLine и Log откатываются, пока объект Customer фиксируется в базе данных.

Микропоток по вопросам:

введите описание изображения здесь

Мое понимание таково:

Когда происходит ошибка в основном микропотоке, необходимо откатить создание заказа, но следует выполнить изменение в клиенте, так как основной микропоток использует Custom with Rollback и в субмикропотоке как Orderline, так и Log должны быть зафиксированы, так как субмикропоток использует Custom without Rollback,

Вопрос:

Почему правильный ответ The Order, OrderLine, and Log objects are rolled back while the Customer object is committed to the database

Ниже изображение в качестве доказательства:

введите описание изображения здесь

1 ответ

Решение

Заметьте, что раньше я работал на Mendix на их микропотоке (среди прочего) 3 года назад, но многое изменилось. Кажется, вы используете новую для меня концепцию - событие ошибки (когда вы выходите из своего субмикропотока), которое согласно документации на https://docs.mendix.com/refguide/error-event сбрасывает пойманную ошибку ранее.

Я предполагаю, что именно поэтому это происходит и ожидается, что order / orderline / log будет зафиксирован, если вы выйдете из этого субмикропотока с нормальным конечным событием после обработки ошибки.

Другие вопросы по тегам