[Seasar-user:3433] Re: S2Dao :動的DB接続
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2006年 3月 27日 (月) 20:37:11 JST
<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:3432]S2Dao:動的DB接続" において、
"Matsumoto Chihiro <[E-MAIL ADDRESS DELETED]>"さんは書きました:
ひがです。
> 初めての投稿になります。よろしくお願いします。
> Eclipseのバージョンは3.1、j2seは1_4_10、s2-dao-1.0.31.zip、S2.3.7.zipを使用
> しています。
>
> S2DaoでMS-SQLserver 2000に接続しているのですが、
> 年次でデータベース名が変わるので、名前を動的に変更する必要があります。
>
> org.seasar.framework.exception.NoSuchConstructorRuntimeException: [ESSR0064]
> クラス(org.seasar.framework.util.ResourceUtil)のコンストラクタ
> (ResourceUtil())が見つかりません
>
> http://ml.seasar.org/archives/seasar-user/2006-March/005268.htmlを読んで、
> j2ee.diconの設定は以下のようになっています。
> <!--MSSQLSERVERデータソースの動的切り替え参照テキスト-->
> <component name="msSQLdbname"
> class="org.seasar.framework.util.ResourceUtil">
> <!--<initMethod>@org.seasar.framework.util.ResourceUtil@
> getProperties("jp/co/xxx/TimeCard/main/resources/msSQLdbname.properties")</initMethod>-->
>
> <initMethod name="getProperties">
> <arg>"jp/co/xxx/TimeCard/main/resources/msSQLdbname"</arg>
> </initMethod>
> </component>
aaa.dicon
<components>
<component name="hoge">
@[E-MAIL ADDRESS DELETED]('abc.properties')
</component>
<component name="aaa">hoge.aaa</component>
</components>
abc.properties
aaa=111
public static void main(String[] args) {
S2Container container =
S2ContainerFactory.create("aaa.dicon");
System.out.println("aaa:" + container.getComponent("aaa"));
}
のような感じで実現できます。今試しました。
class属性がないとだめだというのは、Kijimunaがいっているのでしょうか。
とりあえず無視しても大丈夫です。
> s2daoのプロジェクトが単体だとエラーになってしまい、別プロジェクトのseasarの
> (S2.3.7を解凍した)
> ライブラリをパスに設定しないといけないことです。
>
s2daoのexampleで試しているのなら、同一ワークスペースにseasar2を
インポートする必要があります。
Yasuo Higa
The Seasar Foundation
Seasar-user メーリングリストの案内