[Seasar-user:19250] Re: [S2Dao] DataSourceFactoryとOracleRownumPagingSqlRewriterの併用

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 2月 8日 (月) 19:30:01 JST


小林 (koichik) です.

Date:    Mon, 08 Feb 2010 12:55:26 +0900
From:    松崎 学 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19248] [S2Dao] DataSourceFactoryとOracleRownumPagingSqlRewriterの併用

> ですが、OracleRownumPagingSqlRewriterの処理で
> カウントを取るSQLと実際のデータを取るSQLの接続先が
> 別々になってしまっているようです。

OracleRownumPagingSqlRewriter (ResultSetFactory &
StatementFactory も) を jdbc_user01_ass.dicon 
等ではなく,jdbc_ass.dicon および jdbc_log.dicon に
設定してください.

現在の設定だと,dao_ass.dicon の
PagerS2DaoInterceptorWrapper には,jdbc_ass.dicon を
通じて最初にインクルードされる jdbc_user01_ass.dicon の
OracleRownumPagingSqlRewriter が DI されてしまいます.
この OracleRownumPagingSqlRewriter には
jdbc_user01_ass.dicon の DataSource が DI されているので,

> # カウントの時はjdbc.diconの中で
> # 最初に定義したデータソースに接続されている?

ということになります.

OracleRownumPagingSqlRewriter には jdbc_ass.dicon に
設定されている SelectableDataSourceProxy が DI 
されるようにする必要があります.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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