[Seasar-user:19629] Re: [Doma]Daoのシングルトン化について

newta [E-MAIL ADDRESS DELETED]
2010年 4月 20日 (火) 19:03:51 JST


newta(新田)です。

返信ありがとうございます。
自分も調べていて、SelectableDataSourceProxyだったら普通に動くじゃんと気がつきました。
Dialectの設定で同じようなことをしようとして、
ちゃんと作っていなくて動いていなかったので混乱してました。

DialectもDatasourceも設定をパッケージ名で切替で設定しようと思っています。
Dialectを切り替えるときにもProxyのようなものを設定するので良いですか?
AOPやカスタマイザだけで設定は厳しそうな感じがするのですが。





2010年4月20日18:12 Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>:
> 中村(taedium)です。
>
> DomaをSeasar2と組み合わせて、以下のドキュメントにあるように
> 同じ種類のデータソースを動的に切り替えたいということで
> いいでしょうか?
> それと、DaoのインスタンスはS2コンテナで管理するのですよね?
>
> http://s2container.seasar.org/2.4/ja/jdbc.html#DataSourceDynamicSwiching
>
> この場合、まず、上記のドキュメントにあるようにjdbc.diconを
> 設定してください。
> そして、Domaの設定クラスは、Doma JPetStoreで提供しているものを
> そのまま使ってください。
> (ただし、Dialectは接続先のRDBMSに合わせて変更してください)
> Doma JPetStoreしている設定クラスは次のものです。
>
> https://www.seasar.org/svn/doma/tags/1.5.0/doma-jpetstore/src/main/java/demo/config/AppConfig.java
>
>> Domaを使いたいと思っていますが
>> Datasourceの動的切替を行っていると
>> 調べたところconfigのコンストラクタで設定を行っているため
>> DaoコンポーネントをシングルトンにするとDatasourceの動的切替が出来ません。
>
> データソースの切り替えは、SeasarのSelectableDataSourceProxyで
> 行われるので、Daoがシングルトンであるかプロトタイプであるかに
> 関係なく使用できます。
> 「configのコンストラクタで設定」というのが
> どこを指しているのかわかりませんでした。
> 設定クラスを見せてもらえると早いかもしれないです。
>
>> S2Dao、S2JDBCのソースを見たところ、
>> メソッドの実行前にConnectionの取得を行っていて、そこでDatasourceを切り替えているようなので
>> S2Dao、S2JDBCではシングルトンに出来そうなのですが・・・。
>
> 「メソッドの実行前」のメソッドとはどこのことでしょうか?
> SelectableDataSourceProxyのことであれば
> DomaのConnectionの使い方はS2DaoやS2JDBCと変わらないと思います。
>
> --
> Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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