[Seasar-user:10314] Re: [S2Dao] 複数データソース接続時に特定ConnectionをDIする方法
松崎 学
[E-MAIL ADDRESS DELETED]
2007年 9月 5日 (水) 01:43:11 JST
中村さん
松崎です。お世話になります。
教えていただいた方法で出来ました。
ありがとうございました!
On Tue, 04 Sep 2007 21:39:01 +0900
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> wrote:
> 中村(taedium)です。
>
> > 現在、S2DaoのFAQを参考にして複数データソースに接続しています。
> > http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#w7da6e0e
> >
> > コンテナから特定のデータソースへのConnectionを受け取りたいのですが、
> > どのようにすれば実現可能でしょうか?
>
> SeasarのAPIですがBindingアノテーションを使うのが
> 一番楽かなぁと思います。
> FAQの例をベースにするとたとえばこんな感じです。
>
> package hogehoge.dao.dao2.impl;
> public abstract class EmpDaoImpl implements EmpDao {
>
> private DataSource dataSource;
>
> @Binding("jdbc2.dataSource")
> public void setDataSource(DataSource dataSource) {
> this.dataSource = dataSource;
> }
>
> public Emp selectById(Integer id) {
> Connection conn = dataSource.getConnection();
> //・・・
> }
> }
>
> リンク先のcustomizer.diconの定義は少し変更する必要があります。
>
> <component name="dao2SupportAspectCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
> <property name="interceptorName">"dao2.interceptor"</property>
> <initMethod name="addClassPattern">
> <arg>"hogehoge.dao.dao2"</arg>
> <arg>".*Dao(Impl)?"</arg>
> </initMethod>
> </component>
>
> > 例えばFAQのサンプルでいくと、jdbc1とjdbc2というデータソースがあって、
> > jdbc1へのConnectionを参照したいのです。
>
> あっ、jdbc2のConnectionをとる例になっちゃいました。
> 適当に読み替えてください。
> --
> Toshihiro Nakamura
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
--
松崎 学 <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内