[seasar-s2dao-dev:582] Re: 複数DBスキーマへの動的切り替えについて

Yasuo Higa [E-MAIL ADDRESS DELETED]
2008年 1月 31日 (木) 20:25:55 JST


ひがです。
> 
> お世話になります
> やまだと申します。
> 
> 以前質問させて頂いた、
> 複数DBスキーマへの動的切り替えについてですが、
> 
> SelectableDataSourceProxyを用いて
> 2つのDBスキーマ(DB01とDB02)をプログラムから切替えてアクセスしました。
> (S2JDBCで行いました)
> 
> すると実行時、以下の警告が出力されます。
> しかしテーブルからのデータ取得(Select)は出来ています。
> -----------------------------------------------------------------
> 2008/01/28 16:10:29 org.seasar.framework.log.Logger log
> 警告: org.seasar.extension.dbcp.impl.ConnectionPoolImplのプロパ
> ティ(XADataSource)が見つからないので設定をスキップします
> 2008/01/28 16:10:29 org.seasar.framework.log.Logger log
> 警告: org.seasar.extension.dbcp.impl.ConnectionPoolImplのプロパ
> ティ(XADataSource)が見つからないので設定をスキップします
> -----------------------------------------------------------------
> この警告の原因はなぜだか教えて頂けないでしょうか。
> -----------------------------------------------------------------
> 
> ・jdbc.diconの内容
> --------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
>       "http://www.seasar.org/dtd/components21.dtd">
> <components namespace="jdbc">
>         <include path="jta.dicon"/>
>         <include path="jdbc-extension.dicon"/>
> 
>         <component
> class="org.seasar.extension.jdbc.impl.BasicResultSetFactory"/>
>       <component
> class="org.seasar.extension.jdbc.impl.ConfigurableStatementFactory">
>             <arg>
>                 <component
> class="org.seasar.extension.jdbc.impl.BasicStatementFactory"/>
>             </arg>
>             <property name="fetchSize">100</property>
>       </component>
> 
> 
>       <component name="DB01DataSource"
> class="org.seasar.extension.dbcp.impl.DataSourceImpl">
>           <arg>
>               <component
> class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
>                   <property name="xaDataSource">
>                         <component
> class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
>                             <property
> name="driverClassName">"oracle.jdbc.driver.OracleDriver"</property>
>                             <property
> name="URL">"jdbc:oracle:oci:@DB01"</property>
>                             <property name="user">"DB01_user"</property>
>                             <property
> name="password">"DB01_pass"</property>
>                             <initMethod name="addProperty">
>                                 <arg>"includeSynonyms"</arg>
>                                 <arg>"true"</arg>
>                             </initMethod>
>                         </component>
>                     </property>
>                     <property name="timeout">600</property>
>                     <property name="maxPoolSize">10</property>
>                     <property name="allowLocalTx">true</property>
>                     <destroyMethod name="close"/>
>                 </component>
>             </arg>
>       </component>
> 
>         <component name="DB02DataSource"
> class="org.seasar.extension.dbcp.impl.DataSourceImpl">
>             <arg>
>                 <component
> class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
>                     <property name="xaDataSource">
>                         <component
> class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
>                             <property
> name="driverClassName">"oracle.jdbc.driver.OracleDriver"</property>
>                             <property
> name="URL">"jdbc:oracle:oci:@DB02"</property>
>                             <property name="user">"DB02_user"</property>
>                             <property
> name="password">"DB02_pass"</property>
>                             <initMethod name="addProperty">
>                                 <arg>"includeSynonyms"</arg>
>                                 <arg>"true"</arg>
>                             </initMethod>
>                         </component>
>                     </property>
>                     <property name="timeout">600</property>
>                     <property name="maxPoolSize">10</property>
>                     <property name="allowLocalTx">true</property>
>                     <destroyMethod name="close"/>
>                 </component>
>             </arg>
>         </component>
> 
>       <!-- from JNDI -->
> 
>       <component name="dataSourceFactory"
> 
> class="org.seasar.extension.datasource.impl.DataSourceFactoryImpl" />
> 
>       <component name="dataSource"
> 
> class="org.seasar.extension.datasource.impl.SelectableDataSourceProxy"/>
> </components>

XADataSourceをコンストラクタで設定しているからですね。
プロパティで設定すると警告は消えると思います。


seasar-s2dao-dev メーリングリストの案内