[Seasar-user:17370] Re: [S2Dao]SQL実行処理時間をログ出力したい

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 5月 1日 (金) 17:30:36 JST


小林 (koichik) です.

Teeda を使っているようなので,SMART deploy が
使われているものとして返答します.

Date:    Fri, 1 May 2009 16:56:45 +0900
From:    浅野護 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17369] Re: [S2Dao]SQL実行処理時間をログ出力したい

> 2.app_aop.diconに上記インターセプターを登録
> 
>     <component name="daoMeasuringInterceptor"
> class="xxxxxxxx.interceptor.DaoMeasuringInterceptor" />

xxxxxxxx が convention.dicon に定義されている
ルートパッケージであれば,この定義は不要です.
インターセプタも SMART deploy によって自動登録
されるためです.
以下,それを前提とします.

> 3.AaaDao.diconを作成(「src/main/resources」の直下)

これは不要です.
SMART deploy の場合,インターセプタの設定は
customizer.dicon で行います.

> 4.app.diconにAaaDao.diconのincludeを追加(←今回新たに試しました)

よって,これも不要です.

customizer.dicon に以下のような記述があるはずです.
# name 属性が daoCustomizer となっている.

  <component name="daoCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
      <arg>s2DaoCustomizer</arg>
    </initMethod>
  </component>

ここで Dao に traceInterceptor と dao.interceptor を
適用するように設定されているので,その間に以下の記述を
追加してください.
# traceInterceptor が設定されていない場合は
# s2DaoCustomizer の設定の前に追加.

    <initMethod name="addCustomizer">
      <component class="org.seasar.framework.container.customizer.AspectCustomizer">
          <property name="interceptorName">"daoMeasuringInterceptor"</property>
          <initMethod name="addClassPattern">
            <arg>"xxxxxxxx.dao"</arg>
            <arg>"AaaDao"</arg>
          </initMethod>
      </component>
    </initMethod>

AaaDao だけでなく,全ての Dao を対象にするなら,
以下のように記述することも出来ます.

    <initMethod name="addAspectCustomizer">
      <arg>"daoMeasuringInterceptor"</arg>
    </initMethod>


SMART deploy については以下を参照してください.

http://s2container.seasar.org/2.4/ja/DIContainer.html#SMARTdeploy


ログを添付する場合は,最終的に発生した例外ではなく,

> 注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.26のログに記録されています

を確認して最初に発生した例外を添付してください.


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