よくある問題のようですが、それに対する簡単な答えはわかりません-
環境
- Java EE 環境 (複数の JVM)
- 2 フェーズ コミットのセットアップ
- オラクルDB
与えられた
「AMOUNT」列を持つ DB テーブル
論理
if SELECT SUM(AMOUNT) WHERE... + current amount < Const. ==> insert row
問題
競合状態 - 「コミット」する場合にのみ行を挿入したいと考えています。その間、他のスレッドが合計に使用したデータにアクセスしたくありません。また、他のスレッドを拘束しないように、アクセスされていないデータベース データをできるだけ減らしたいと考えています。
現在のソリューション
Oracle の SELECT FOR UPDATE メカニズムの使用
この問題に対処するための他の解決策はありますか? すぐに使えるソリューションも歓迎されます。