[Seasar-user:19458] Re: HOT deploy が有効なとき、新規に起動したスレッドから Dao 操作を行うと例外が発生

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 3月 5日 (金) 18:10:17 JST


小林 (koichik) です.

Date:    Fri, 05 Mar 2010 18:00:00 +0900
From:    Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19457] Re: HOT deploy が有効なとき、新規に起動したスレッドから Dao 操作を行うと例外が発生

> public void run() {
>   if (HotdeployUtil.isHotdeploy()) {
>     synchronized (HotdeployFilter.class) {
>       HotdeployBehavior ondemand = (HotdeployBehavior) 
>           S2ContainerBehavior.getProvider();
>       ondemand.start();
>       try {
>         doRun();
>       } finally {
>         ondemand.stop();
>       }
>     }
>   } else {
>     doRun();
>   }
> }

HotdeployUtil の start()/stop() を使った方が
簡単でした.

public void run() {
  if (HotdeployUtil.isHotdeploy()) {
    synchronized (HotdeployFilter.class) {
      HotdeployUtil.start();
      try {
        doRun();
      } finally {
        HotdeployUtil.stop();
      }
    }
  } else {
    doRun();
  }
}

こっちの方が Seasar2 の実装の変更に影響
されにくいのでこちらを使ってください.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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