Mes documents

Barre latérale multi-racine

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

Transactions

Explique la transaction ClientSession MongoDB de getTxJob, la propagation de session du contexte Reactor, la responsabilité de retry et les frontières de transaction Spring.


getTxJob
java

getTxJob(...) ouvre un ClientSession avec MongoExecutionContext.startSession(), commence la transaction, puis lie la session au contexte Reactor. En cas de succès, il effectue un commit, en cas d'erreur/annulation, il abandonne la transaction active, et enfin ferme la session.

Portée de session

La session de transaction est propagée uniquement à la même exécution DSL par MongoExecutionContext#getSessionScope(). Le DriverMongoExecutionContext par défaut utilise son propre MongoClient comme portée de session.

La responsabilité de la réessai de transaction incombe à l'appelant.

getTxJob(...) ne réessaie pas automatiquement les erreurs de transaction MongoDB comme TransientTransactionError. La décision de réessayer et le nombre de tentatives sont déterminés par l'idempotence de l'opération, les effets secondaires externes et les règles métier connues de l'application appelante.

Frontière avec la transaction Spring.

Spring @Transactional / TransactionalOperator.

Frontière de transaction/session gérée par Spring Data MongoDB.

ReactiveMongoDsl#getTxJob.

Le DSL démarre directement le ClientSession et le transmet au contexte Reactor.

© 2026 Byeolnaerim. Tous droits réservés.PrésentationPolitique de confidentialité