带有MongoDB CrudRepository的Spring Boot应用程序。
我有多个线程并行更新同一文档。每个线程将按ID加载文档,进行更改
并尝试将其保存。
为了克服可以覆盖第一个线程所做更改的“最后获胜”行为,我实现了一种简单的版本控制机制,该机制仅在线程试图保存最新版本时才可以保存其更改,否则将引发异常。 >
这解决了多次写入可能导致的数据不一致,但是我正在失去工作。尝试使用旧版本保存文档的线程没有重试机制。
是否有针对此问题的通用解决方案?我不确定要采用哪种方法来解决此问题。