Restore die @Lazy, die den Kontext je nach sich selbst stoppt

FixSecurityService
Verschifft
4. September 2026 um 22:39 UTC
Autor
Kamo
Ausschuss
fe3e433

Jedes SecurityService-Pod, das seit 4bd25e7 gebaut wurde, startet nicht: Die Abhängigkeiten einiger der Bohnen im Anwendungskontext bilden einen Zyklus: | commitLogTranslationListener (Feld ... .self) . CommitLogTranslationListener injiziert sich so, dass übersetzenCommitLog() ist aufgerufen durch den Spring Proxy - eine @Async/@Transaktionelle Methode aufgerufen als this.method() umgeht den Proxy und die Anmerkung tut nichts. Was das gemacht hat legal war @Lazy auf dem Feld. Es ist immer noch in der Datei, und das ist das Ganze Falle: 4bd25e7 hat das SingletonTaskRunner Feld zwischen der Anmerkung und das Feld bewachte es, so @Lazy gebunden an den neuen Nachbarn statt. Nichts war gelöscht, die diff lesen als reine Ergänzung, und die Selbstinjektion leise wurde eifrig. Es versteckte sich gut. Ein älterer Pod blieb oben und serviert Verkehr, während beide neuen ReplicaSets CrashLooped, so dass der Service sah gesund und nur abgestanden aus - das ist, wie es nicht antworten", weil der Endpunkt, den es nennt, nur im Bild existiert, konnte nicht starten. Nichts hat es erwischt und nichts hätte sein können. ApplicationContextStartsTest ist der Wache für genau diesen Ausfallmodus und ist @Disabled, bis es eine Redis für es, und CI hier läuft die Suite mit -DskipTests, so ein roter Baum baut und Einsatzkräfte. So kommt die Lösung mit einer statischen Ratsche. SelfInjectionLazyRatchetTest liest die Quelle und behauptet, dass jedes Feld, dessen Typ ist seine eigene Erklärung Klasse hat @Lazy DIRECTLY darüber - Anjacency, nicht bloße Anwesenheit, da "die Datei enthält ein @Lazy irgendwo" war während des Ausfalls wahr. Es scheitert an dem Fehler und geht auf die Lösung, und es scheitert laut, wenn es jemals aufhört, Selbstinjektionen zu finden überhaupt, anstatt die Art und Weise SecurityServiceApplicationTests zu übergeben hat für Monate. (Geritten zuerst als ein Regex überspannt die Anmerkungen, die in eine StackOverflowError - ein Fehler, der genau wie eine Erkennung aussieht, bis Sie Lesen Sie es. Es entspricht jetzt einer Linie nach der anderen.) Komplette Suite: 2130 Tests, 0 Ausfälle.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen