Исходящий ряд аудита был написан инертным REQUIRES NEW

FixSecurityService
Порезанный
27 августа 2026 г. в 09:09 UTC
Автор
Kamo
Обещать
31379b6

Это был метод на ExchangeQueryService аннотированный @Transactional (REQUIRES NEW), вызванный от двух частных помощников одного класса. Рекомендации по транзакциям весны живут на прокси-сервере, а самовызов никогда не достигает Это, так что аннотация ничего не сделала: ряд присоединился к транзакции абонента. Это именно то, что он записывает. Неудачный исходный запрос будет Мы отбросили запись о собственном провале — и «мы попросили, а они отказались». Это скандал, в котором кто-то исследует пробел в истории пациента. А. Реестр только успешных запросов отвечает на простой вопрос и теряет Тяжелый. Хуже того, найти() и запросДокументы() читатьТолько = правда, так что Письмо вообще не имело никакого отношения к их сделке. Извлеченный в ExchangeRequestRecorder, собственный боб, точно так же, как BulkExportJobState был ранее по той же причине. Единичный тест не может уловить это — построение службы напрямую означает, что это не так. Также нет прокси-сервера, поэтому он прошел, будучи неправильным. Таким образом, охранник структурный: тест регистратора утверждает, что метод является ПУБЛИЧНЫМ (непубличный метод) Он никогда не опосредуется, делая свою аннотацию инертной, и что его распространение Requiires new. Обе половины невидимы на месте вызова, и обе должны держаться.

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

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

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

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