- Verschifft
- 27. August 2026 um 09:09 UTC
- Autor
- Kamo
- Ausschuss
- 31379b6
Es war eine Methode auf ExchangeQueryService kommentiert @Transactional(REQUIRES_NEW), von zwei privaten Helfern auf der gleichen Klasse aufgerufen. Die Transaktionsberatung von Spring lebt von einem Proxy und eine Selbstbevovovoilierung erreicht nie es, also tat die Anmerkung überhaupt nichts: die Reihe schloss sich der Transaktion des Anrufers an. Das ist genau rückständig für das, was es aufzeichnet. Eine FAILED Outbound-Anfrage würde haben die Aufzeichnungen über ihr eigenes Versagen zurückgedreht - und "wir haben gefragt und sie abgelehnt" ist die Reihe jemand untersucht eine Lücke in der Geschichte eines Patienten tatsächlich braucht. A Ledger nur der erfolgreichen Anfragen beantwortet die einfache Frage und verliert die hart eins. Schlimmer noch, discover() und queryDocuments() sind readOnly = true, so der Schreibverkehr hatte in ihrer Transaktion überhaupt nichts zu suchen. Auszug auf ExchangeRequestRecorder, eine eigene Bohne, genau wie BulkExportJobState war früher aus dem gleichen Grund. Ein Einheitstest kann dies nicht einfangen - der Aufbau des Dienstes bedeutet direkt, dass es auch kein Proxy, weshalb es passierte, während er falsch war. So ist die Wache Struktur: der Test des Recorders behauptet, dass die Methode ÖFFENTLICHEN (eine nicht-öffentliche Methode) ist ist nie proxiert, macht seine Anmerkung träge) und dass seine Ausbreitung ist REQUIRES_NEW. Beide Hälften sind an einer Call-Site unsichtbar und beide müssen halten.