[Seasar-user:12808] Re: [S2]ThrowsInterceptorが呼び出されない

Kenji Koyama [E-MAIL ADDRESS DELETED]
2008年 2月 9日 (土) 22:38:56 JST


小林さん

お世話になっております。
小山です。(自宅からです)

回答ありがとうございます。

>> customizer.dicon
>> <component name="oracleCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
>> 	<property name="interceptorName">"oracleSQLExceptionThrowsInterceptor"</property>
>> </component>
> 
> これだけではこの oracleCustomizer はどこからも
> 使われません.

そうでうね、componentを定義しただけですね。

> 
> この Customizer を Dao に適用するなら daoCustomizer に
> 加える必要があります.

どうやって、Daoに適用する方法がわかりませんでした。
> 
> <component name="daoCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
>   <initMethod name="addCustomizer">
>     <arg>oracleCustomizer</arg>
>   </initMethod>
>   <initMethod name="addCustomizer">
>     <arg>s2DaoCustomizer</arg>
>   </initMethod>
> </component>
> 
> oracleCustomizer は s2DaoCustomizer より前に
> 追加する必要があります.

なるほど、こうやるのでしたか。

> 
> 
> もし Dao ではなく Page クラスに適用するなら,
> oracleCustomizer にポイントカットを設定する
> 必要があります.
> 
> <component name="oracleCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
>   <property name="interceptorName">"oracleSQLExceptionThrowsInterceptor"</property>
>   <property name="pointcut">"do.*, initialize, prerender"</property>
> </component>
これは、やってみたのですが、
PageCustomizerに追加してませんでした。orz

> 
> そして pageCustomizer に追加します.
> 
> <component name="pageCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
>   <initMethod name="addCustomizer">
>     <arg>oracleCustomizer</arg>
>   </initMethod>
> </component>




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