[Seasar-user:11577] Re: カスタマイザの設定順序について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 11月 9日 (金) 21:00:10 JST
小林 (koichik) です.
Date: Fri, 9 Nov 2007 20:22:15 +0900
From: <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:11575] カスタマイザの設定順序について
> cusomizer.diconにカスタマイズを定義する際に、
> 定義の順序は処理に関係するのでしょうか?
はい.
特に AspectCustomizer の記述順は,dicon
ファイルにおける <aspect> 要素の記述順と同様,
先に記述したアスペクトが先に適用されます.
> 例えば、
> <component name="pageCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
> <initMethod name="addCustomizer">
> <arg>defaultCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>transactionAspectCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>loggingAspectCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>throwsAspectCustomizer</arg>
> </initMethod>
> </component>
> このように、throwsAspectCustomizerがtransactionAspectCustomizerより
> 下に定義された場合、transactionAspectCustomizerの中で、
> 発生した例外に関する例外処理が出来ないのでしょうか?
できません.
上記の順で記述した場合,大雑把には
transactionAspect {
loggingAspect {
throwsAspect {
page
}
}
}
のようなイメージになります.
transactionAspect で発生した例外をその内側の
throwsAspect で捕まえることは出来ません.
そうしたいなら,throwsAspect を
transactionAspect よりも先に記述する必要が
あります.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内