У меня есть метод, который получает счет, создает XML и отправляет этот XML в очередь JMS, а затем сохраняет счет в БД с обновленным статусом, например «выставлен счет». Ниже приведен псевдокод, в котором задействованы Spring и Hibernate. Мой вопрос: является ли сбой при сохранении в спящем режиме откатом отправки Jms или, если отправка JMS не удалась, как я могу откатить сохранение статуса счета-фактуры? это подпадает под управление распределенными транзакциями. О каких транзакционных случаях здесь идет речь. Спасибо.
@Transactional(propagation=Propagation.Required)
void processInvoices(invoice ){
String xml = createXML(invoice);
messageService.sendInvoice(xml );
invoice.setStatus("invoiced");
save(invoice);
}