[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 メーリングリストの案内