[Seasar-user:7095] Re: [S2Dao] SMART Deployで複数DBへ接続

加藤 潤一 [E-MAIL ADDRESS DELETED]
2007年 4月 6日 (金) 20:40:24 JST


松崎さん

加藤です.

うーん,実はまだテストしていないのですが,たぶん以下でできるかと思います.


1)Creatorの作成
public class Dao2Creator extends ComponentCreatorImpl {

        /**
         * Dao2用のクリエータを返します。
         *
         * @param namingConvention
         */
        public Dao2Creator(NamingConvention namingConvention) {
                super(namingConvention);
                setNameSuffix(namingConvention.getDaoSuffix());
                setInstanceDef(InstanceDefFactory.PROTOTYPE);
                setEnableInterface(true);
                setEnableAbstract(true);
        }

        /**
         * Dao2用のカスタマイザを返します。
         *
         * @return
         */
        public ComponentCustomizer getDao2Customizer() {
                return getCustomizer();
        }

        /**
         * Dao2用のカスタマイザを設定します。
         *
         * @param customizer
         */
        public void setDao2Customizer(ComponentCustomizer customizer) {
                setCustomizer(customizer);
        }
}


2)diconファイルへの登録

creator.dicon
        <component class="hogehoge.creator.Dao2Creator"/>

customizer.dicon
        <component name="dao2SupportAspectCustomizer" class="org.seasar.framework.container.customizer.AspectCustomizer">
                <property name="interceptorName">"dao2.interceptor"</property>
        </component>
        <component name="dao2Customizer" class="org.seasar.framework.container.customizer.CustomizerChain">
                <initMethod name="addCustomizer">
                        <arg>defaultCustomizer</arg>
                </initMethod>
                <initMethod name="addCustomizer">
                        <arg>dao2SupportAspectCustomizer</arg>
                </initMethod>
        </component>

3) dao2.interceptorを定義

dao.diconをこぴって,dao2.diconにします.
この部分を
<components namespace="dao2">
        <include path="j2ee2.dicon"/>
に修正してください.

j2ee.diconをこぴってj2ee2.diconに修正
この部分を
<include path="jdbc2.dicon"/>
に修正してください.

jdbc.diconをこぴって,jdbc2.diconに.
ここで,二つ名のDBの設定を行います.

3)Dao2用のDaoを作成
ルートパッケージ名.dao2にxxxDaoを置く.


よろしくお願いいたします.

> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED]
> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of 松崎 学
> Sent: Friday, April 06, 2007 8:27 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:7093] [S2Dao] SMART Deployで複数DBへ接続
>
> 松崎です。お世話になります。
>
> Doltengで作成したChuraプロジェクト(Teeda+S2Dao)で開発をしています。
>
> このメーリングリストの以下の質問を参考にして
> 複数DBへ接続をしようとしてるのですが、うまくいきません。。。
> > [Seasar-user:6876] Re: [S2Dao] 複数データソースに対応させたい
>
> Seasar2.3系で開発していた時も同じ要件があったのですが、
> 以下のページを見て解決できました。
> http://www.seasar.org/wiki/index.php?FAQ%2FS2DAO#q70fa8ce
>
> 上記の質問でひがさんが
> > rootpackage.dao2.HogeDao2
> > に置くようにし、Dao2CreatorとDao2用のCustomizerを追加すると
> > SMART deploy的にはうまくいくはずです。
> と回答されていますが、どなたか具体的なdiconファイルの書き方を
> 教えていただけないでしょうか?
> お恥ずかしいのですが、内容が理解できないです。。。
>
> S2DaoのFAQにも追記していただけるとありがたいです。
>
> 以上、よろしくお願い致します。
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user


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