[Seasar-user:13093] Re: AOPについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 2月 28日 (木) 17:30:34 JST
小林 (koichik) です.
Date: Thu, 28 Feb 2008 15:29:11 +0800
From: <[E-MAIL ADDRESS DELETED]>
To: seasar-user <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:13092] AOPについて
> プロジェクト内のAction内の全てのDB更新や削除などInterceptしたい場合はどうする?
SMART deploy を使っているなら,customizer.dicon で
設定します.
<component name="actionCustomizer"
class="org.seasar.framework.container.customizer.CustomizerChain">
<initMethod name="addAspectCustomizer">
<arg>"myThrowableInterceptor"</arg>
<arg>".*"</arg>
<arg>true</arg>
</initMethod>
</component>
addAspectCustomizer() の引数は次のとおり.
第 1 引数:Action に適用するインターセプタ名
第 2 引数:インターセプタを適用するメソッドにマッチする正規表現
第 3 引数:インターセプタが HttpServletRequest 等を使うなら true
もし Teeda を使っているなら第 2 引数は
<arg>"initialize, prerender, do.*"</arg>
の方がいいでしょう.
SMART deploy を使っていないなら,インターセプタを
適用する対象のコンポーネントに対して設定します.
<component name="...Action" class="...Action">
<aspect pointcut=".*">myThrowableInterceptor</aspect>
</component>
--
<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 メーリングリストの案内