WebObjects 3インタンス目
■ このスレッドは過去ログ倉庫に格納されています
0714nobodyさん
02/09/06 09:13ID:???Oracleアダプタの場合は、FOR UPDATEを付加するような実装に
なっていたはずです。
「今はどうか知らないけど」と書いたのは、JDBCドライバ経由に変わって
このあたりどうしているんだろうという意味合いがあったのでした。
推測ですが、EOFレベルで、GlobalIDを使ってロックを制御している
んではと踏んでいます。
以下は、悲観的ロックに対する僕の考えですが、
本当にロック状態を維持できないとすれば、それは単にバグのような
気がしますが、異なるセッションからの更新でそれがおこるとなると、
WOのトランザクションの使い方の問題かもしれないですね。
EC単位でトランザクションを管理していて、ユーザ間で使いまわして
いると考えると、素直にECの設計を想像するとそうなる可能性は
高そうです。いわば、ECがトランザクションの管理単位というわけで、
同一ECにsaveChange()/revert()を送れば、ロックが解除されて
当然という気がします。
この場合は、ユーザセッションごとにECを用意することで、
うまく動くようになるのではないでしょうか。
4.xのマニュアルでは、
ペシミスティックロック
オプティミスティックロック
オンデマンドロック
をWOがサポートしていることになっています。
■ このスレッドは過去ログ倉庫に格納されています