[Seasar-user:9297] Re: Teeda で独自 Interceptor を作る際の留意点について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 7月 20日 (金) 16:00:09 JST
小林 (koichik) です.
Date: Fri, 20 Jul 2007 15:31:18 +0900 (JST)
From: [E-MAIL ADDRESS DELETED]
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:9295] Teeda で独自 Interceptor を作る際の留意点について
> 1.hoge.IntercepterにAbstractInterceptorを継承したクラスを作成
hoge.Interceptor はクラス名?
そうでなく,hoge.interceptor パッケージの
HogeLogManagerInterceptor クラスであれば,
> 2.app_aop.diconにコンポーネントを追加
これは不要です.
# hoge がルートパッケージの場合.
インターセプタも SMART deploy の対象なので
自動登録されます.
> 3.customizer.diconにコンポーネントとしてinterceptorCustomizerを追加して、2
> .でのコンポーネントを記述
インターセプタを Page クラスに適用するなら,
InterceptorCustomizer ではなく PageCustomizer を
定義します.
customizer.dicon には PageCustomizer のひな形が
コメントアウトされた状態で記述されていると思うので
それをベースにしてください.
Seasar2.4.15 からは
<component name="pageCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
<initMethod name="addAspectCustomizer">
<arg>"hogeLogManagerInterceptor"</arg>
<arg>"do.*, initialize, prerender"</arg>
</initMethod>
</component>
Seasar2.4.14 以前なら
<component name="pageCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
<initMethod name="addCustomizer">
<arg>
<component class="org.seasar.framework.container.customizer.AspectCustomizer">
<property name="interceptorName">"hogeLogManagerInterceptor"</property>
<property name="pointcut">"do.*, initialize, prerender"</property>
</component>
</arg>
</initMethod>
</component>
のようになります.
# 後者の書き方は 2.4.15 でも使えますが前者がオススメです.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内