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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 6月 17日 (火) 19:15:32 JST


小林 (koichik) です.

Date:    Tue, 17 Jun 2008 18:58:18 +0900
From:    松崎 学 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:14730] Re: [S2Dao] データソースを動的に変更したい

> お客様毎に1つづつDBを立てているのですが、
> そのDBの中でさらにサブシステム毎にスキーマが分かれています。

お客様 1 の master: master1
お客様 2 の master: master2
お客様 1 の financial: financial1
お客様 2 の financial: financial2

と,4 つの DataSource をそれぞれ定義した
jdbc.dicon を作成してください.

そして,master1 と master2 を切り替える 
SelectableDataSourceProxy (jdbc_master),
financial1 と financial2 を切り替える 
SelectableDataSourceProxy (jdbc_financial) も
それぞれ用意してください.

DataSource は全部で 6 つになります.
本物の DataSource が 4 つ,Proxy が 2 つです.

> うまくいかない箇所ですが、
> 諸事情によりスキーマ毎のコネクションが必要だったので、
> 以下のようにBindingアノテーションをつかっているのです。
> ------------
> @Binding("jdbc_master.dataSource")
> public final void setMasterDataSource(DataSource masterDataSource) {
>     this.masterDataSource = masterDataSource;
> }
> @Binding("jdbc_financial.dataSource")
> public final void setFinancialDataSource(DataSource financialDataSource) {
>     this.financialDataSource = financialDataSource;
> }
> ------------

アノテーションで Proxy を指定することになるので,
master も financial もアクセスされた URL の
DB になるはずです.


-- 
<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 メーリングリストの案内