Spring 数据MongoDB 4.0 事务支持
Spring Data MongoDB 4.0 transactions support
MongoDB 4.0 将引入 transactions 支持 ACID 保证。
Spring 数据 MongoDB 是否已经支持 MongoDB 中的交易,如果不支持,这个很棒的功能何时可用。我真的需要它,考虑到以下问题 - MongoDB schema design in order to support application horizontal scaling
Does Spring Data MongoDB already supports the transactions in MongoDB
Spring Data Lovelace M3 (2.1.0.M3) 支持 MongoDB v4.0 的同步事务,于 2018 年 5 月 17 日发布。另请参阅 Spring Data Lovelace M3 release notes。
示例来自 Spring Data docs: MongoDB transactions
ClientSession session = client.startSession(options);
template.withSession(session)
.execute(action -> {
session.startTransaction();
try {
Step step = // ...;
action.insert(step);
process(step);
action.update(Step.class).apply(Update.set("state", // ...
session.commitTransaction();
} catch (RuntimeException e) {
session.abortTransaction();
}
}, ClientSession::close)
.subscribe();
另见相关:DATAMONGO-1920 and DATAMONGO-1970
你可以参考我最近在另一个帖子里回答的答案,希望对你有所帮助。
但这是针对响应式 Spring 引导和 MongoDB 设置
link是
MongoDB 4.0 将引入 transactions 支持 ACID 保证。
Spring 数据 MongoDB 是否已经支持 MongoDB 中的交易,如果不支持,这个很棒的功能何时可用。我真的需要它,考虑到以下问题 - MongoDB schema design in order to support application horizontal scaling
Does Spring Data MongoDB already supports the transactions in MongoDB
Spring Data Lovelace M3 (2.1.0.M3) 支持 MongoDB v4.0 的同步事务,于 2018 年 5 月 17 日发布。另请参阅 Spring Data Lovelace M3 release notes。
示例来自 Spring Data docs: MongoDB transactions
ClientSession session = client.startSession(options);
template.withSession(session)
.execute(action -> {
session.startTransaction();
try {
Step step = // ...;
action.insert(step);
process(step);
action.update(Step.class).apply(Update.set("state", // ...
session.commitTransaction();
} catch (RuntimeException e) {
session.abortTransaction();
}
}, ClientSession::close)
.subscribe();
另见相关:DATAMONGO-1920 and DATAMONGO-1970
你可以参考我最近在另一个帖子里回答的答案,希望对你有所帮助。
但这是针对响应式 Spring 引导和 MongoDB 设置
link是