我在 Mongo 上有多个操作,我希望将其视为一个操作,因此我启用了事务。我正在使用 Mongo 版本 5。
配置类包含以下bean定义:
@Bean(name = "transactionManager")
MongoTransactionManager transactionManager(MongoDatabaseFactory dbFactory) {
return new MongoTransactionManager(dbFactory);
}
我的业务逻辑类似于下面的代码片段。假设在此方法内对不同集合进行了更改。
@Transactional
public MyResult create(String payload) {
//operations omitted for brevity
}
基于Mongo文档(https://www.mongodb.com/docs/v5.0/core/transactions/)我引用:
新的回调 API 还合并了针对 TransientTransactionError 或 UnknownTransactionCommitResult 提交错误的重试逻辑。
Spring data Mongo db 是否知道如何处理 TransientTransactionError (包括文档中描述的重试)?如果不是,有什么替代方案?