我将 Java EE 6 与 JBOSS7 和 JPA2 + Hibernate 一起使用。对于我的客户,我提供了一个 REST api。
我关心的是如何有效地确保没有资源同时被修改。应该经常发生,但如果发生,我想确保正确处理。
到目前为止我的方法:
Map<String, ReentrantLock>
存储锁。(我的 id 始终UUID
是 s)如果地图中缺失,则根据需要创建锁。在这种方法中,我喜欢并发访问将被阻止,并且我可以控制其他线程尝试锁定资源的时间。使用 JPA2 乐观锁定。
你会推荐哪一个?还是有更好的方法?