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