Остановите неудавшееся приветственное письмо от уничтожения участника

FixSecurityService
Порезанный
3 сентября 2026 г. в 01:04 UTC
Автор
Kamo
Обещать
7a2aa09

MemberCreationService задокументировал шаги 4-6 как лучшее усилие, так и для электронных писем. Это неправда. sendVerificationEmail является @Transactional, поэтому он присоединился к члену- транзакция создания; когда EmailService ответил 500, исключение из него Отметил только откат транзакции. Попытка/поймать скрыла ошибку, но не может Очистить флаг, так что коммит бросил неожиданный RollbackException, участник которого был создан в полном объеме был отброшен, и администратор получил голый "Внутренний сервер «Ошибка» с ничего в журнале, но предупреждение, которое читается как необязательный шаг провал. Каждая организация теряла «Добавить члена» до тех пор, пока существовал почтовый путь. Это то, как однолинейная регрессия EmailService стала полным отключением. Предупреждения вместо двух. Оба посылают теперь бежать из AfterCommit, мимо точки, где неудача имеет что-то Отравить, в MemberCreationEmailNotifier. Это отдельное растение, потому что Распространение должно достичь прокси: обратный вызов по-прежнему совершается транзакцию, связанную с потоком, поэтому простой РЕКУЛИРОВАН будет участвовать в Транзакция Spring больше никогда не будет совершаться, и токен проверки будет Отброшено молча. Одна транзакция REQUIRES NEW за отправку, объекты, перечитанные Ид, потому что абоненты отделены к тому времени, и каждый посылает пойманный абонентом - за пределами границы сделки, единственное место, где улов делает то, что он выглядит Как это бывает.

Все изменения

Как вы видите судоходство?

Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.

Начните бесплатно навсегдаПосмотреть цены