- Порезанный
- 5 сентября 2026 г. в 05:20 UTC
- Автор
- Kamo
- Обещать
- 3bb492b
Два решения, которые имеют смысл только вместе. @RetryOnDbConflict повторно использует метод вне своей транзакции, поэтому каждая попытка Начинается новый. Перезагрузка внутри транзакции — что вы получите, если все это тонко неправильно — это не меньшее преимущество, но его нет вообще: Транзакция, которая видела SQLState 40001, терпит неудачу в каждом последующем заявлении. Каждая дополнительная попытка повторяет работу, которая не может быть выполнена. Также похоже, что это Работа, которая является опасной частью. Журнал заполняется повторными записями, метод На самом деле это называется три раза, и ошибка в конце - это та, которая у вас есть. В любом случае. Таким образом, тест подсчитывает начатые действия, а не попытки. Эти два числа являются идентичны в рабочем случае и отличаются в сломанном, и ничего другого разделяет их. Он уловил три реальных дефекта, когда это было написано: 1. Простой советник @Component невидим для создателя автопрокси, который @EnableTransactionManagement Установки, в которых учитываются только отмеченные советники ROLE INFRASTRUCTURE. Каждый ретрит молча не делал ничего. цепочка перехватчиков, поэтому вторая операция() возобновляется после транзакции перехватчик и повторно вызвал цель прямо, внутри неудавшегося Сделка. Каждая попытка теперь получает инвокабельный клон (). 3. Советы не должны изменять договор метода, поэтому заявленное проверенное исключение Переносится через границу ретри и перебрасывается без изменений. Построенный на простой весенней AOP, а не @Aspect, чтобы избежать попадания в игру. Шестьдесят изображений для одного перехватчика. Второе: MemberRightsAppliedService больше не продолжается, когда модель безопасности Шаблоны читать нельзя. Записывая предупреждение и продолжая звучать как тщательный выбор и его противоположность — шаблоны не только источник лишнего Права и ценность NUKE - это то, как модель говорит «по умолчанию», поэтому пропустив их. оставляет правую позицию, которую организация намерена удержать. Результат Затем он был продолжен. Поэтому временная икота базы данных может передать члену Доступ никому не предоставляется, с одной строкой предупреждения в качестве единственного следа. Теперь бросается с причина приложена, и две точки входа несут @RetryOnDbConflict — Реалистичной причиной является удар по каталог-версии, и повторная попытка может произойти только в том случае, если Неудача позволяет достичь ее. 2757 тестов зеленый.