[Seasar-user:21472] Re: S2JDBC の Interceptor はどうすれば良いのでしょうか。
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2012年 9月 20日 (木) 09:47:16 JST
小林様
いつもお世話になっております。
説明が下手で申し訳ありません。
「S2JDBCでインターセプタの設定は出来ないか?」と言う質問になります。
昔「S2Struts + S2Dao」の環境の時は「daoCustomizer」があったので、
S2JDBCの場合、「daoCustomizer」に変わる機能または実装方法を教えて頂きたく思います。
今回、S2Daoは使用していません。
解りづらく申し訳ありません。
以上、よろしくお願いいたします。
2012/09/20 (Thu) 02:47, "Koichi Kobayashi" <koichik @ improvement.jp> wrote:
> 小林 (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 mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内