Рассмотрение обычного варианта использования, когда пользователь создает новую учетную запись в веб-приложении, и приложение отправляет электронное письмо с подтверждением на адрес пользователя. Из того, что я видел, это обычно реализуется одним из трех способов:
1-й подход прост и понятен, но существует риск того, что транзакция будет отменена после отправки электронного письма, что сделает его недействительным. Второй подход более сложен, но он гарантирует, что электронное письмо будет отправлено только в том случае, если создание пользователя действительно прошло успешно. Третий подход прост, но обременяет веб-уровень бизнес-логикой, которую ему не нужно знать.
Нет более простого подхода, возможно, основанного на АОП, который гарантирует, что электронное письмо будет отправлено, только если пользователь транзакция создания действительно прошла успешно? Я параноик, полагая, что первый подход может потерпеть неудачу?
Мы используем стек Java EE + Spring и готовы интегрировать дополнительные API (AOP? Spring Integration?) Для достижения этой цели.
Ура!