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

小山 健二 [E-MAIL ADDRESS DELETED]
2008年 2月 12日 (火) 17:27:26 JST


小林さん

小山です。お世話になっています。

アドバイス頂いた方法で、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 メーリングリストの案内