[Seasar-user:21471] Re: S2JDBC の Interceptor はどうすれば良いのでしょうか。

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2012年 9月 20日 (木) 02:47:18 JST


小林 (koichik) です.

SAStruts + S2JDBC の場合は Dao を使わないことが
多いかと思うのですが,Dao を SMART deploy で
使っているのですか?
もし使っているのなら daoCustomizer でインターセプタを
設定することができるはずです.

Dao を使っていても SMART deploy になっていないなら,
Dao を定義している方法 (dicon に直接書いているのか
AutoRegister を使っているのか等) によってインターセプタの
設定方法も変わります.


On Wed, 19 Sep 2012 12:05:26 +0900, pianyi @ mail.goo.ne.jp wrote:

> いつも大変お世話になっております。 
> pianyi と申します。 
> 
> 現在、SAStrus2.4.44 + S2JDBCを使って開発を行っております。
> 
> 今回、処理時間にシビアなユーザーの為、Action、Service、(Logic)、SQLの各箇所で処理時間計測し、
> 速度改善に役立てたいと考えておりますが、S2JDBCにInterceptor を追加することは出来ないのでしょうか?
> 
> ActionとServiceには、Interceptor の追加は出来ました。
> また、以前S2Daoで行ったことがあるため、同じように、"daoCustomizer"に追加しましたが呼び出されませんでした。
> 
> 別のやり方があるのでしょうか。
> 間違い、別の良い方法等ございましたらご教授願います。
> 
> 以上、よろしくお願いいたします。
> 
> 
> 以下、設定を載せて置きます。
> 
> 
> *********************** customizer.dicon ***********************
> <component name="daoCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
>     <initMethod name="addAspectCustomizer">
>         <arg>"dbAccessLogInterceptor"</arg>
>     </initMethod>
> </component>
> 
> 
> *********************** ログ出力クラス ***********************
> public class DbAccessLogInterceptor extends AbstractInterceptor {
>     private final Logger logger = Logger.getLogger(getClass());
>     @Override
>     public Object invoke(MethodInvocation invocation) throws Throwable {
>         Object result = null;
>         // 時間計測(開始)
>         double startTime = 0;
>         try {
>             startTime = System.nanoTime() / (1000 * 1000);
>             result = invocation.proceed();
>         } finally {
>             double endTime = System.nanoTime() / (1000 * 1000);
>             String name = getTargetClass(invocation).getSimpleName() + "#" + invocation.getMethod().getName();
>             logger.debug("実行メソッド名:" + name + " 処理時間:" + (endTime - startTime) + "ミリ秒");
>         }
>         return result;
>     }
> }
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
{
  name: "Koichi Kobayashi",
  mail: "koichik @ improvement.jp",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



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