我的文件庫

多根目錄側邊欄

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

事務

解釋 getTxJob 的 MongoDB ClientSession 交易、Reactor 上下文會話傳播、重試責任和 Spring 交易邊界。


getTxJob
java

getTxJob(...) 會通過 MongoExecutionContext.startSession() 開啟 ClientSession 並開始交易,然後將會話綁定到 Reactor 上下文。正常完成時提交,錯誤/取消時中止活動交易,最後按順序關閉會話。

會話範圍

交易會話僅在 MongoExecutionContext#getSessionScope() 中傳播到相同的 DSL 執行。基本的 DriverMongoExecutionContext 使用自己的 MongoClient 作為會話範圍。

交易重試由調用方負責。

getTxJob(...) 不會自動重試 TransientTransactionError 等 MongoDB 交易錯誤。重試的與次數由操作的冪等性、外部副作用和業務規則決定,這些由調用應用程序了解。

Spring 交易的邊界。

Spring @Transactional / TransactionalOperator。

由 Spring Data MongoDB 管理的交易/會話邊界。

ReactiveMongoDsl#getTxJob。

DSL 直接啟動 ClientSession 並傳遞到 Reactor 上下文。

© 2026 Byeolnaerim. 版權所有。介紹隱私政策