[Seasar-user:9508] Re: s2-2.4.10以降で、Daoが初回動作する際に遅くなった
Tetsuya Toba
[E-MAIL ADDRESS DELETED]
2007年 7月 27日 (金) 13:57:46 JST
鳥羽です。
Koichi Kobayashi さんは書きました:
>> アスペクトを適用する順序を変えて、j2ee.requiredTxを一番初めに適用するよ
>> うに変更すると、1度だけ物理コネクションを取得するようになりました。
>
> ということは,Dao にトランザクションを設定しているのでしょうか?
> たいていの場合,それはあまりよろしくないのでは.
> Dao にトランザクションを設定すると,Dao のメソッドを
> 呼び出す度にトランザクションが開始〜コミットされて
> しまいます.
> S2JSF なら Action か,Action から Service を呼び出して
> いるなら Service にトランザクション境界を設定すべきでは
> ないかと.
もちろん、アクションクラスへのアスペクトの適用順序を変えてます。
Daoには、aop.traceInterceptor と dao.interceptor だけです。
インターセプターチェインが
1. アクセスログ採取
2. ログイン認証
3. トランザクション
のようになっていたのを、
1. トランザクション
2. アクセスログ採取
3. ログイン認証
のようにしました。
アクションで例外が発生するとアクセスログがロールバックされてしまいます
が、通常の実行ログもあるので問題ないと思います。
--
鳥羽 哲也
Seasar-user メーリングリストの案内