[Seasar-user:13007] Re: [DBFlute]SqlLogRegist ry について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 2月 22日 (金) 21:52:14 JST


いつもお世話になっております。
米原です。

久保さん、ご回答ありがとうございます。


>アプリケーション起動時に以下の1行を実行して下さい。
>// Containerの初期化後に
>SqlLogRegistryLocator.setInstance(new SqlLogRegistryImpl());

ありがとうございます。 確認してみます。




>> batchXxx()の排他制御について
>正確には、S2Dao-1.0.47の場合にのみ、認識の通りであります。
>(以前のバージョンではどうしても実現できなかったため)

DBFlute0.6.4、S2Dao-1.0.47にてDAOを作成して、確認した
のですが、batchUpdateにて、楽観的排他時にExceptionを発生
させれませんでした。
こちらの使い方の間違いかもしれず、恐縮ですが、
もしお気づきのことがありましたら、ご指摘頂けないでしょうか?


◆通常のupdate
以下、楽観的排他時にEntityAlreadyUpdatedExceptionが発生する
*************************************************************
//楽観的排他用に更新日時を設定
utime = aDto.getUtime();
entity.setUpdNitijiUs(utime);        
          
// UPDATE実行
try {
      behavior.update(entity);
    } catch (Exception e) {
      return "SUCCESS_1";
    }
*************************************************************



◆batchUpdateの場合
以下、同様の操作で楽観的排他時にEntityAlreadyUpdatedExceptionが発生しない(Exceptionでcatchしない)
*************************************************************
//楽観的排他用に更新日時を設定
utime = aDto.getUtime();
entity.setUpdNitijiUs(utime);        
           
//Listの作成        
List<Entity> entityList = new ArrayList() ;
entityList.add(0,entity);
       
// UPDATE実行
try {
      behavior.batchUpdate(entityList);
    } catch (Exception e) {
      return "SUCCESS_1";
    }
*************************************************************

お忙しいところすみません。。


Seasar-user メーリングリストの案内