Dok Perpustakaan Saya

Sidebar Multi-root

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

Transaksi

Jelaskan transaksi ClientSession MongoDB getTxJob, propagasi sesi Reactor Context, tanggung jawab retry, dan batas transaksi Spring.


getTxJob
java

getTxJob(...) membuka ClientSession dengan MongoExecutionContext.startSession() dan memulai transaksi, kemudian memasukkan binding sesi ke dalam Reactor Context. Pada penyelesaian normal, commit, pada error/cancel abort transaksi aktif, dan terakhir menutup sesi.

Ruang lingkup sesi

Sesi transaksi hanya dipropagasi ke eksekusi DSL yang sama oleh MongoExecutionContext#getSessionScope(). DriverMongoExecutionContext dasar menggunakan MongoClient miliknya sebagai ruang lingkup sesi.

Tanggung jawab untuk retry transaksi ada pada pemanggil.

getTxJob(...) tidak secara otomatis melakukan retry untuk kesalahan transaksi MongoDB seperti TransientTransactionError. Keputusan untuk melakukan retry dan jumlahnya ditentukan oleh idempotensi operasi, efek samping eksternal, dan aturan bisnis yang diketahui oleh aplikasi pemanggil.

Batasan dengan transaksi Spring.

Spring @Transactional / TransactionalOperator

Batasan transaksi/sesi yang dikelola oleh Spring Data MongoDB.

ReactiveMongoDsl#getTxJob

DSL memulai ClientSession secara langsung dan meneruskannya ke Reactor Context.

© 2026 Byeolnaerim. Semua hak dilindungi.PengenalanKebijakan Penanganan Data Pribadi