【发布时间】:2020-06-17 08:15:13
【问题描述】:
关于 MongoDB Panache 文档 [https://quarkus.io/guides/mongodb-panache]
中的以下引用MongoDB 从 4.0 版开始提供 ACID 事务。带有 Panache 的 MongoDB 不为它们提供支持。
因此,是否有推荐的方法或最佳实践来处理多文档事务以确保原子性?
考虑这个例子:
public void buyCarTest() {
carRepository.increaseStock(1);
cashRepository.decreaseCash(10000);
}
如果我们手动进行,那就是:
- 检查对第二个存储库的写入操作是否失败,并且
- 如果是这样,请还原在
carRepository中所做的更改
这种方法充其量似乎是微不足道的,尤其是当我要写入的存储库超过 2 个时。
谢谢。
【问题讨论】: