[Seasar-user:4047] Daoにそれぞれのデータソースを割り当てたい

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2006年 7月 11日 (火) 17:57:33 JST


関です。
いつも勉強させて頂いております。

早速ですがDaoクラス毎に異なったDataSourceを使用するように
diconを記述したいのですが方法が分かりません。

■S2で複数DBとのコネクションを取得する方法は?
http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#q70fa8ce

ここが何かしら近い事をやっていると思うのですが
Daoが何時DataSourceを読込んでいる?のかを理解していないために
どう詰めていったらいいのか分かりません。

現在試していることは s2jsf-example のHSSQLのサンプルを生かせたまま、
MySQLにも接続しようとしています。(将来的にはOracleとMySQLに変更)

最終的には UserDaoクラスはMySqlから、
GoodsDaoクラスはOracleからデータを取得するような感じに動作させたいです。

試したことは s2jsf-example の j2ee.diconを3分割し
1.j2ee.dicon (dataSource、xaDataSource、connectionPool をコメント)
2.j2ee-hssql.dicon (dataSource、xaDataSource、connectionPool を記述)
3.j2ee-mysql.dicon (dataSource、xaDataSource、connectionPool を記述)
に分割しました。

これで、hssqlとmysqlのDataSourceをコンポーネント化には成功している?つもりで
LogicImpl で
setDataSource(DataSource dataSource)
setDataSourceMySql(DataSource dataSourceMySql)
を記述しておくことでDataSourceのオブジェクトは作成されています。

あとはこのDataSourceオブジェクトをDaoに適応する方法が分からない?との認識です。

その他の状況として
j2ee.dicon の dataSource、xaDataSource、connectionPool をコメントすることで以下のエラーがTomcatの起動時に表示されます。
「org.seasar.dao.impl.DaoMetaDataFactoryImplの引数(interface javax.sql.DataSource)が見つからないのでnullを設定します」

途中の内容にも疑問点の箇所があるような質問で申し訳ないのですが
先人の方で複数データソースを使ったサンプルなど有りましたら
教えて頂けると嬉しいです。

よろしくお願いします。





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