[Seasar-user:3354] Re: 接続先DBを動的に変更する

Matsukaze Takashi [E-MAIL ADDRESS DELETED]
2006年 3月 11日 (土) 08:23:14 JST


松風です。

ひがさん、谷口さん

返答が遅れてしまい、大変申し訳ありません。


当初の仕様では、動的に接続先DBを変更する方向でしたが、納期の制約もあり、
今回は対応せず、次期バージョンにて対応しようと思います。

その際は、谷口さんの実装方針をベースに対応させて頂きたいと思います。

今回のバージョンでは、DBのドライバ情報などをプロパティファイルにだして
おき、接続先DBを変更する際は、一度プログラムを止めてプロパティファイル
を編集、その後再度プログラムを実行することに致しました。

その際に、ひがさんの提案してくださった

> <component name="props">
  <initMethod>@org.seasar.framework.util.ResourceUtil @ getProperties
('abc.properties')</initMethod>
> </component>
> <component name="xaDataSource" class="org.seasar.extension.dbcp.impl.
XADataSourceImpl">        
>  <property name="URL">props.URL</property>
>  ...
> </component>

を参考に、

<component name="props" class="com.sample.HoldProperty">
    <initMethod name="setProperty">
        <arg>"abc.properties"</arg>
    <initMethod>
<component name="xaDataSource" class="org.seasar.extension.dbcp.impl.
XADataSourceImpl">        
  <property name="URL">props.URL</property>
  ...
</component>

のような形で設定ファイルを外にだして対応することを考えております。

componentタグにclass指定をしていないとエラーになるのと、
@org.seasar.framework.util.ResourceUtil @ getProperties('abc.
properties')
をどのように使用してよいか勉強不足よりわからなかったため、上記の方法を考
えました。

貴重なご意見、ありがとうございます。

以上。


><[E-MAIL ADDRESS DELETED]> の、
>   "[Seasar-user:3344]接続先DBを動的に変更する" において、
>   "Matsukaze Takashi <[E-MAIL ADDRESS DELETED]>"さんは書きました:
>
>ひがです。
>
>> 松風と申します。
>> 
>> j2ee.diconで定義しているxaDataSourceのdriverClassNameや、URLなどの値
>> を、他外部ファイルの値にプログラム内で置き換え、変更後はその変更した
>> 値でDBにアクセスすることは可能でしょうか?
>> 
><component name="props">
>  <initMethod>@[E-MAIL ADDRESS DELETED]('abc.
>properties')</initMethod>
></component>
><component name="xaDataSource" class="org.seasar.extension.dbcp.impl.
>XADataSourceImpl">        
>  <property name="URL">props.URL</property>
>  ...
></component>
>
>みたいなかんじでできますよ。
>abc.propertiesは、この例だとCLASSPATHに通されているディレクトリの
>ルートに置いてください。
>
>動的にっていっているところが意図するところと合ってないかもしれませんが。
>
>Yasuo Higa
>The Seasar Foundation
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://www.seasar.org/mailman/listinfo/seasar-user




Seasar-user メーリングリストの案内