Meus Documentos

Barra Lateral Multi-raiz

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

Transações

Explica a transação do MongoDB ClientSession do getTxJob, a propagação de sessão do Reactor Context, a responsabilidade de retry e as fronteiras da transação do Spring.


getTxJob
java

getTxJob(...) abre uma ClientSession com MongoExecutionContext.startSession(), inicia a transação e insere o binding da sessão no Contexto Reactor. Em caso de conclusão normal, faz commit; em caso de erro/cancelamento, aborta a transação ativa; e, por fim, fecha a sessão.

Escopo da sessão

A sessão de transação é propagada apenas para a mesma execução DSL com MongoExecutionContext#getSessionScope(). O DriverMongoExecutionContext padrão usa seu próprio MongoClient como escopo de sessão.

A responsabilidade pela repetição da transação é do chamador.

getTxJob(...) não tenta automaticamente repetir erros de transação do MongoDB, como TransientTransactionError. A decisão sobre a repetição e o número de tentativas é feita pela aplicação chamadora, que conhece a idempotência da operação, efeitos colaterais externos e regras de negócios.

Limite com transações Spring.

Spring @Transactional / TransactionalOperator.

Limite de transação/sessão gerenciado pelo Spring Data MongoDB.

ReactiveMongoDsl#getTxJob.

O DSL inicia diretamente o ClientSession e o passa para o Contexto Reactor.

© 2026 Byeolnaerim. Todos os direitos reservados.IntroduçãoPolítica de Privacidade