国産DIコンテナSeasar その15at TECH
国産DIコンテナSeasar その15 - 暇つぶし2ch172:デフォルトの名無しさん
09/05/25 03:29:32
若干混乱したので要約すると、

>>167○この概念はSeasarの公式にも書かれているので正しい
僕はJavaそしてSeasarを推薦するよ。S2Daoについて、僕が解りやすく説明するよ?
VersionNoでの排他制御に関しては、PrimaryKeyに属する行の内容を更新する際に、
VersionNoが自分の取得したVersionNoと異なるケースでは、他のユーザーが同じ行を先に更新している事になるので、正確な排他ができる。
Timestampでの排他制御に関しては、PrimaryKeyに属する行の内容を更新する際に、
Timestampが自分の取得したTimestampと異なるケースでは、他のユーザーが同じ行を先に更新している事になるので、正確な排他ができる。
Webシステムにおいては、多数の人が同時に同じDBにアクセスする事になるので、排他制御が抜けているシステムは致命的になる。

>>168×これは僕の認識の誤りである可能性が高い
しかしながら、S2Daoの排他制御は不完全である。
理想としては、画面表示のselect時にVersionNoとTimestampを取得する仕様が好ましい。
今のS2Dao仕様では、Daoレベルでのデータベース更新の瞬間的な排他制御はできる。
そうではなくて、画面表示のselect時にVersionNoとTimestampを取得し、
「画面単位」で排他制御を行うのが正しい。S2Daoの排他制御もまた素人臭い。

>>170○S2Daoの振る舞いが以下の使用に適合していれば、理想的な排他制御になる。検証してみなければ解らないが、暫定でできると仮定。
失礼、ActionクラスからselectしDTOからActionFormに詰め替え際に、VersionNoあるいはTimestampもActionFormにsetする。
データベース更新時は、ActionFormからDTOに詰め替えする際に、select時に取得したVersionNoあるいはTimestampを
DTOに設定する事で、画面単位での排他制御が実現できる。

>>171○ゴミです
これができていないWebシステムはゴミだ。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch