Meine Bibliothek-Dokumente

Multi-Root-Seitenleiste

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

Transaktionen

Erklärt die MongoDB ClientSession-Transaktion von getTxJob, die Sitzungsweitergabe im Reactor-Kontext, die Verantwortung für Wiederholungen und die Grenzen der Spring-Transaktion.


getTxJob
java

getTxJob(...) öffnet die ClientSession mit MongoExecutionContext.startSession(), startet die Transaktion und bindet die Sitzung an den Reactor-Kontext. Bei erfolgreichem Abschluss wird ein Commit durchgeführt, bei Fehlern/Abbrüchen wird die aktive Transaktion abgebrochen, und am Ende wird die Sitzung geschlossen.

Sitzungsbereich

Die Transaktionssitzung wird nur an die gleiche DSL-Ausführung von MongoExecutionContext#getSessionScope() weitergegeben. Der Standard DriverMongoExecutionContext verwendet seinen eigenen MongoClient als Sitzungsbereich.

Die Verantwortung für das Transaktions-Retry liegt beim Aufrufer.

getTxJob(...) führt kein automatisches Retry bei MongoDB-Transaktionsfehlern wie TransientTransactionError durch. Ob und wie oft ein Retry erfolgt, wird von der Idempotenz der Operation, externen Nebeneffekten und den Geschäftsregeln der aufrufenden Anwendung entschieden.

Grenzen zu Spring-Transaktionen

Spring @Transactional / TransactionalOperator

Grenzen der Transaktionen/Sitzungen, die von Spring Data MongoDB verwaltet werden.

ReactiveMongoDsl#getTxJob

DSL startet direkt ClientSession und übergibt es an den Reactor Context.

© 2026 Byeolnaerim. Alle Rechte vorbehalten.EinführungDatenschutzrichtlinie