スマートデプロイで調査中2

上のでいけるかと思ったのですが、ルートパッケージをまたがって同名のクラスが有るときに、コンポーネントを引っ張ってくるのが、先にルートパッケージを指定したアプリケーション側になってしまう。


"jp.blue7.pooappl"


"jp.blue7.hogeappl"

っていう風に、convention.diconを指定したときに、
双方にSchmaVersionDaoがというDaoを用意してそれぞれで使ったときに、hogeappl側でjp.blue7.hogeappl.SchmaVersionDaoをインジェクとしようとすると、pooappl側のjp.blue7.pooappl.SchmaVersionDaoをインジェクとしようとするようで、Daoをインジェクとしようとして、castエラーになってしまう。

Exception in thread "main" org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(jp.blue7.daogen.service.impl.Any3ServiceImpl$$EnhancedByS2AOP$$c44b88)のプロパティ(schemaVersionDao)の設定に失敗しました。理由はjava.lang.IllegalArgumentException: argument type mismatch
at org.seasar.framework.beans.impl.PropertyDescImpl.setValue(PropertyDescImpl.java:207)
at org.seasar.framework.container.assembler.AbstractBindingTypeDef.setValue(AbstractBindingTypeDef.java:308)

みたいなかんじです。
たぶん、一度クラスをコンポーネント名に変換しているんだと思うのですが、コンポーネント名のルールで、複数のルートパッケージが存在する場合、サブアプリケーションみたいに、コンポーネント名にプレフィックスをつけたらいけるんじゃないかな。
hogeappl__schemaVersionDaoとかってなっていれば、何とかなる気がするのですが、どうでしょう。