[Seasar-user:14730] Re: [S2Dao] データソースを動的に変更したい
松崎 学
[E-MAIL ADDRESS DELETED]
2008年 6月 17日 (火) 18:58:18 JST
中村さん
松崎です。いつもお世話になっております。
うまくいかない箇所があるので質問させてください。
DBセッションの機能を使っているので、インターセプタではなく
Filterを作りました。
まず、前回の現状説明で言葉足らずだった部分がありました。すみません。
お客様毎に1つづつDBを立てているのですが、
そのDBの中でさらにサブシステム毎にスキーマが分かれています。
ここを参考にスキーマ毎のデータソースを設定しています。
http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#w7da6e0e
そして、お客様毎にjdbc1.dicon、jdbc2.diconを入れ替えて
warファイルを作成している状態です。
うまくいかない箇所ですが、
諸事情によりスキーマ毎のコネクションが必要だったので、
以下のように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;
}
------------
アノテーションなので動的に切り替えが出来ず、以下の例外が発生します。
------------
[ESSR0059]クラス(jp.co.camnet.macs.web.login.LoginPage$$EnhancedByS2AOP$$1826b5c)の
プロパティ(masterDataSource)の設定に失敗しました。
理由はorg.seasar.framework.exception.OgnlRuntimeException:
[ESSR0073]OGNLで例外が発生しました。
理由は[ESSR0046]コンポーネント(dataSource)が見つかりません
------------
以上、よろしくお願い致します。
On Fri, 13 Jun 2008 21:25:04 +0900
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:
> 中村(taedium)です。
>
> > S2Daoでデータソースを動的に変更する事はできますか?
>
> はい、できます。
> 機能としてはSeasar2本体に含まれています。
>
> 先ほどドキュメントを書きましたのでこちらをご覧ください。
>
> http://s2container.seasar.org/2.4/ja/jdbc.html#DataSourceDynamicSwiching
>
> この例ではユーザーの種類で切り替えていますが、
> URLで切り替えるように読み替えてください。
> --
> Nakamura Toshihiro <[E-MAIL ADDRESS DELETED]>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
--
松崎 学 <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内