ВопросSeniorRT Labs21 просмотр

Вопрос 8. Есть сервис ExampleService (см. рис). Метод OrderDao::delete удаляет заказ из БД сервиса. Метод DeliveryService::cancelDelivery синхронно обращается к другому сервису по http и в случае ошибки выбрасывает RuntimeException. Возможно ли использование аннотации @Transactional над методом ExampleService::handle для обеспечения консистентности? @Component @RequiredArgsConstructor public class ExampleService { private final OrderDao orderDao; private final DeliveryService deliveryService; @Transactional public void handle(long orderId) { orderDao.delete(orderId); deliveryService.cancelDelivery(orderId); } } - Да, в случае ошибки изменения в БД откатятся - Нет, пользователь не узнает, что заказ не был удален - Нет, могут возникнуть утечки памяти в слое http клиента - Нет, могут возникнуть таймауты в слое обращения к БД