JBOSS7 および JPA2 + Hibernate で Java EE 6 を使用しています。私のクライアントには、REST API を提供します。
私の懸念は、リソースが同時に変更されないようにする方法です。頻繁に発生する必要がありますが、発生した場合は適切な処理を確実にしたいと考えています。
これまでの私のアプローチ:
Map<String, ReentrantLock>
ロックを格納します。(私の ID は常にUUID
s です) マップにない場合、ロックはオンデマンドで作成されます。このアプローチでは、同時アクセスがブロックされ、他のスレッドがリソースをロックしようとする時間を制御できることが気に入っています。JPA2 楽観的ロックを使用します。
どちらをお勧めしますか?それとももっと良いアプローチがありますか?