[Seasar-user:7523] SMART deploy と app.dicon でのコンポーネントについて
o.h.
[E-MAIL ADDRESS DELETED]
2007年 5月 7日 (月) 18:23:52 JST
お世話になっております.長谷川です.
S2Dao の設定を SMART deploy に任せて、それ以外のコンポーネントを
独自に app.dicon に記述するような構成でアプリケーションを作成して
います.
構成の内容なのですが
app.dicon
<components>
<include path="aop.dicon"/>
<include path="dxo.dicon"/>
<include path="dao.dicon"/>
<component name="hoge" class="hoge.Hoge"/>
</components>
といった形の定義をしていまして(適宜修正してますが)、上記の
"hoge" コンポーネント内で SMART deploy から登録されている dao
を使用するために
hoge.Hoge.java
...
public void setDao(SomeDao dao) {
...
}
....
といった setter を定義してます.
この状態で、コンポーネント hoge を取得しようとすると
TooManyRegistrationRuntimeException が発生します.
もちろん hoge.Hoge#setDao を取り除けば問題なく動作します.
なんとなく SMART deploy 側と app.dicon 側の両方から登録しようと
しているのかなと想像はしているのですが、回避方法がわかりません.
最悪 hoge.Hoge で
SingletonS2ContainerFactory.getContainer().getComponent(SomeDao.class);
とかすれば回避はできるのですが...
実際問題、上記の現象は設定の不備によるものなのでしょうか.
dicon の記述のみで回避可能なものなのでしょうか.
#以前に、こちらで似たような質問があったような気がしたのですが
#見つけられませんでした
以上、よろしくお願いいたします.
--
_/_/
_/_/ mailto: [E-MAIL ADDRESS DELETED]
_/_/ (deprecated: [E-MAIL ADDRESS DELETED])
_/_/
Seasar-user メーリングリストの案内