[Seasar-user:12826] Re: [S2]ThrowsInterceptorが呼び出されない
小山 健二
[E-MAIL ADDRESS DELETED]
2008年 2月 12日 (火) 19:15:21 JST
小林さん
小山です。お世話になっています。
以下の件ですが、解決できました。
customizer.diconの設定をapp_aop.diconに持ってきたら、
Hot deploy でも、mailSenderが呼び出されました。
app_app.dicon
<component name="mailSender" class="jp.co.tmeic.kobe.tehai.service.MailSenderImpl" />
<component name="handleThrowableInterceptor"
class="hoge.interceptor.HandleThrowableInterceptor">
<property name="mailSender">mailSender</property>
</component>
小山 健二 さんは書きました:
> 小林さん
>
> 小山です。お世話になっています。
>
> アドバイス頂いた方法で、oracleSQLExceptionThrowsInterceptor を
> 呼びさせるようになりました。ありがとうございます。
>
> さらに、Exceptionが発生したら、とにかくメールで通知させようとしています。
> そこで、oracleSQLExceptionThrowsInterceptor と同様にdiconを設定して
> HandleThrowableInterceptorなるものを呼び出すところまでできました。
> この処理の中で、メールを送信させようとしています。
> Cool deeploy の時は、以下の内容でメール送信mailSenderが呼び出されるのですが、
> Hot deploy の時に、mailSenderが呼び出されません。
> どうも、コンポーネントがロードされていないようです。
>
> Hot deployで、呼び出せるようにしたいのですが、
> アドバイス頂けないでしょうか?
>
> app_app.dicon
> <components namespace="app_aop">
> <include path="convention.dicon"/>
> <component name="actionSupportInterceptor" class="org.seasar.teeda.extension.interceptor.ActionSupportInterceptor" />
> <component name="appFacesExceptionThrowsInterceptor" class="org.seasar.teeda.core.interceptor.AppFacesExceptionThrowsInterceptor" />
> <component name="loginAuthInterceptor" class="hoge.interceptor.LoginAuthInterceptor" />
> <component name="handleThrowableInterceptor" class="hoge.interceptor.HandleThrowableInterceptor"/>
> <component name="oracleSQLExceptionThrowsInterceptor" class="hoge.interceptor.OracleSQLExceptionThrowsInterceptor"/>
> </components>
>
> customizer.dicon
> <component name="mailSender" class="hoge.service.MailSenderImpl" />
> <component name="handleThrowableInterceptor" class="hoge.interceptor.HandleThrowableInterceptor">
> <property name="mailSender">mailSender</property>
> </component>
> *Hotのときには、上の設定では、hoge.service.MailSenderImpl が登録されないようです。
>
> <component name="handleThrowableCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
> <property name="interceptorName">"app_aop.handleThrowableInterceptor"</property>
> </component>
> <component name="oracleCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
> <property name="interceptorName">"app_aop.oracleSQLExceptionThrowsInterceptor"</property>
> </component>
> <component name="daoSupportAspectCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
> <property name="interceptorName">"dao.interceptor"</property>
> </component>
> <component name="daoCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
> <initMethod name="addCustomizer">
> <arg>defaultCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>handleThrowableCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>oracleCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>daoSupportAspectCustomizer</arg>
> </initMethod>
> </component>
>
> バージョンは以下のとおりです。
> S2 2.4.11
> S2Dao 1.0.40
> Teeda 1.0.6
>
>
--
(^_^)試して見る事に失敗はない。明日は今日と違う自分になる。
小山健二 (Kenji Koyama)
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内