[Seasar-user:15250] Re: [S2Dao] データソースを動的に変更したい

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 8月 1日 (金) 18:00:29 JST


小林 (koichik) です.

Date:    Fri, 01 Aug 2008 09:34:09 +0900
From:    松崎 学 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15245] Re: [S2Dao] データソースを動的に変更したい

> > DataSourceFactory の設定が見あたらないような?
> DataSourceFactoryの設定も必要なのですね。
> すみませんが、設定内容をお教えいただけませんか?

SelectableDataSourceProxy と一緒に

<component name="dataSourceFactory" 
    class="org.seasar.extension.datasource.impl.DataSourceFactoryImpl"/>

を定義してください.
master,financial それぞれに独立した
DataSourceFactory が必要です.

SelectableDataSourceProxy を一つだけ使う場合は
jdbc-extension.dicon に定義されているデフォルトの
DataSourceFactory を使えばいいのですが,今回の場合
SelectableDataSourceProxy が二組あるので,
DataSourceFactory も二組必要です.
# ドキュメントは SelectableDataSourceProxy が
# 一組の場合を説明していて,複数ある場合の
# 説明がありません.追記しておきます.

DataSourceFactory#setSelectableDataSourceName()
も master,financial 別々に設定してください.

@Binding("jdbc_master.dataSourceFactory")
public DataSourceFactory masterDataSourceFactory;

@Binding("jdbc_financial.dataSourceFactory")
public DataSourceFactory financialDataSourceFactory;

masterDataSourceFactory.setSelectableDataSourceName("jdbc_master.it");
または
masterDataSourceFactory.setSelectableDataSourceName("jdbc_master.itdp");

financialDataSourceFactory.setSelectableDataSourceName("jdbc_financial.it");
または
financialDataSourceFactory.setSelectableDataSourceName("jdbc_financial.itdp");


DataSourceFactory が一つだけだと,

masterDataSourceFactory.setSelectableDataSourceName("jdbc_master.it");

とした場合,financial の SelectableDataSourceProxy も
jdbc_master.itDataSource を使ってしまいます.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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