или в самих обработчиках?
Вопрос атомарности
Сам flush идёт с транзакцией, но если к примеру в одном контроллере вызвать два обработчика A B с внутренним flush, то сохранение будет не атомарным. A сохранился, B упал, A не откатился
Интересно как правильно проектировать такие вещи максимально просто. Выносить flush в самый конец после всех операций, либо же просто дополнительно оборачивать обработчики в свою транзакцию?
+ за вопрос. Тоже интересовался ) Пришел к выводу, что лучше делать атомарно, но не в контроллерах. Т.е. если три слоя : контроллер, сервис, репозиторий - то в сервисе. К тому же если будут пакетные обработки - все равно придется делать это в сервисе, а не в контроллере. Нарушается единая архитектура. А если делать в репозитории - то прощай атомарность. Но это имхо, не более)
Обсуждают сегодня