クラス ReactiveMongoTransactionManager

java.lang.ObjectSE
org.springframework.transaction.reactive.AbstractReactiveTransactionManager
org.springframework.data.mongodb.ReactiveMongoTransactionManager
実装済みのインターフェース一覧:
SerializableSE, InitializingBean, ConfigurableTransactionManager, ReactiveTransactionManager, TransactionManager

public class ReactiveMongoTransactionManager extends AbstractReactiveTransactionManager implements InitializingBean
単一の ReactiveMongoDatabaseFactory の ClientSession ベースのトランザクションを管理する ReactiveTransactionManager 実装。

指定された ReactiveMongoDatabaseFactory から ClientSession をサブスクライバー Context にバインドします。Readonly トランザクションは ClientSession で動作し、因果一貫性を有効にします。また、start、commit、または abort トランザクションも動作し、因果一貫性を有効にします。

アプリケーションコードでは、標準の ReactiveMongoDatabaseFactory.getMongoDatabase() 呼び出しではなく、ReactiveMongoDatabaseUtils.getDatabase(ReactiveMongoDatabaseFactory) を介して MongoDatabase を取得する必要があります。ReactiveMongoTemplate などの Spring クラスは、この戦略を暗黙的に使用します。デフォルトでは、コミット操作が失敗すると TransactionSystemException が発生します。MongoDB リファレンスマニュアルに記載されているように、doCommit(TransactionSynchronizationManager, ReactiveMongoTransactionObject) をオーバーライドしてコミット操作を再試行しますの動作を実装できます。

導入:
2.2
作成者:
Christoph Strobl, Mark Paluch
関連事項: