[Seasar-user:20026] Re: 複数個所にインジェクションされたコンポーネントに対してアスペクトが効かない現象
石川雅之 - エクスマート
[E-MAIL ADDRESS DELETED]
2010年 7月 29日 (木) 20:27:12 JST
小林様
お世話になっております。石川です。
以下のようなサンプルを作成し、動作させてみたところご報告したような
現象は発生しませんでした。
○Dao
AppleDao,BananaDao
○Manager
FruitManager(両DAOをインジェクション)
VegetableManager(BananaDaoのみをインジェクション)
○Interceptor
OriginalInterceptor(AutoRegisterで両Daoに適用)
○dicon
<!-- DAO -->
<component class="org.seasar.framework.container.autoregister.ComponentAutoRegister">
<initMethod name="addReferenceClass">
<arg>@[E-MAIL ADDRESS DELETED]</arg>
</initMethod>
<initMethod name="addClassPattern">
<arg>"s2test.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>
<!-- Manager -->
<component class="org.seasar.framework.container.autoregister.ComponentAutoRegister">
<initMethod name="addReferenceClass">
<arg>@[E-MAIL ADDRESS DELETED]</arg>
</initMethod>
<initMethod name="addClassPattern">
<arg>"s2test.manager"</arg>
<arg>".*ManagerImpl"</arg>
</initMethod>
</component>
<!-- オリジナル -->
<component name="originalInterceptor" class="s2test.interceptor.OriginalInterceptor">
</component>
<!-- DAO層用インターセプターチェーン -->
<component name="daoIntercept" class="org.seasar.framework.aop.interceptors.InterceptorChain">
<initMethod name="add"><arg>originalInterceptor</arg></initMethod>
</component>
<!-- DAO用アスペクトオートレジスタ -->
<component class="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">daoIntercept</property>
<initMethod name="addClassPattern">
<arg>"s2test.dao"</arg>
<arg>".*Dao"</arg>
</initMethod>
</component>
複数箇所にインジェクションされている、というのは直接的な原因でなく
他の箇所にあるのかもしれません。。。
取り急ぎご報告致します。
石川
Seasar-user メーリングリストの案内