[Seasar-user:16760] Re: SAStrutsでのSESSION使用方法について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 1月 26日 (月) 21:00:49 JST


小林 (koichik) です.

Date:    Mon, 26 Jan 2009 19:28:03 +0900
From:    aaa aaa <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:16759]  RE:  Re: SAStrutsでのSESSION使用方法について

> 色々試しているのですが、
> 添付のような設定で問題ないのでしょうか?

throwsInterceptor が 2 回記述されていますが,
一つは余計ですね.

また,インターセプタは記述順に適用される
(最初に記述したものが最初に適用される) ので,
traceInterceptor は最初にあった方がいいと
思います.


> arg:第1引数がInterceptor
> arg:第2引数がpointcut

addAspectCustomier() の場合はそうです.

addCustomizer() だと,第一引数は Interceptor を
適用する Customizer (AspectCustomizer) です.
AspectCustomizer は,適用する Interceptor の
コンポーネント名を持っています.

そんなわけで (どんなわけで?),

    <initMethod name="addAspectCustomizer">
      <arg>"aop.traceInterceptor"</arg>
    </initMethod>
と
    <initMethod name="addCustomizer">
      <arg>
        <component class="org.seasar.framework.container.customizer.AspectCustomizer">
          <property name="interceptorName">"aop.traceInterceptor"</property>
        </component>
      </arg>
    </initMethod>

は等価です.

Seasar2 の Jar ファイルの中に含まれている
std-customizer.dicon には

        <component name="traceCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
          <property name="interceptorName">"aop.traceInterceptor"</property>
        </component>

という定義があるので,

    <initMethod name="addCustomizer">
      <arg>traceCustomizer</arg>
    </initMethod>

も等価になります.
標準で用意されているものはこの (最後の) 記法が
シンプルでよいかと思います.


> なんか、添付のようにつらつら追加するのではなく、Chainしておいたほうが
> いいのかが、わからないのですが。

いくつかの種類のコンポーネントに共通に
設定するインターセプタの集合があるなら
CustomizerChain を使うのがいいでしょう.
そうでないなら気にしなくてもよいかと.


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