La riga di audit in uscita è stata scritta da un inerte REQUIRES NEW

FixSecurityService
Shipped
27 agosto 2026 alle ore 09:09 UTC
Author
Kamo
Commit
31379b6

Era un metodo per ExchangeQueryService annotato @Transactional(REQUIRES NEW), chiamato da due assistenti privati sulla stessa classe. Il consiglio di transazione di primavera vive su un proxy e un'autoinvocazione non raggiunge mai questo, così l'annotazione non ha fatto nulla affatto: la riga ha unito la transazione del chiamante. Questo è esattamente all'indietro per quello che registra. Una domanda in uscita FAILED hanno riportato indietro il record del proprio fallimento — e "abbiamo chiesto e hanno rifiutato" è la fila che qualcuno indaga un divario nella storia di un paziente ha effettivamente bisogno. A ledger di solo le domande di successo risponde alla domanda facile e perde il Uno duro. Peggio ancora, scopri() e queryDocuments() sono lettiSolo = vero, quindi la scrittura non aveva alcun business essere nella loro transazione affatto. Estratto a ExchangeRequestRecorder, un fagiolo proprio, esattamente come BulkExportJobState era prima per lo stesso motivo. Un test unitario non può catturarlo — la costruzione del servizio significa direttamente che c'è nessun proxy, ed è per questo che è passato mentre era sbagliato. Così la guardia è strutturale: il test del registratore afferma che il metodo è PUBLIC (un metodo non pubblico non è mai proxied, facendo la sua annotazione inerte) e che la sua propagazione è No. Entrambe le metà sono invisibili in un luogo di chiamata e entrambi devono tenere.

All changes

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo