ひがやすを技術ブログ

電通国際情報サービスのプログラマ

S2DBCP

S2DBCPの設定はこんな感じ


<component name="xaDataSource"
class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<propertyname="driverClassName">
'oracle.jdbc.driver.OracleDriver'
</property>
<property name="URL">
'jdbc:oracle:thin:@zzz:1521:xxx'
</property>
<property name="user">'xxx'
<property name="password">'xxx'
</component>
<component name="connectionPool"
class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
<property name="xaDataSource">xaDataSource
<property name="transactionManager">transactionManager
<property name="timeout">600
<property name="maxPoolSize">10

</component>
<component name="jdbc/oracle"
class="org.seasar.extension.dbcp.impl.DataSourceImpl">
connectionPool

xaDataSourceコンポーネントのプロパティをいじれば、
いろいろなRDBMSに接続できます。

S2Unit

S2Unitのフィールド自動バインディングで、
フィールド名と同じ名前のコンポーネントがあったら
自動バインドするというのを加えました。
フィールド名から_は自動的に除かれます。


class ConnectionPoolImplTest extends S2TestCase {
private ConnectionPool pool_;
private ConnectionPool pool2_;
...
}



2 Phase Commitのテストするのにどうしても、ConnectionPoolの
インスタンスが2つ欲しかったので。
インターフェースの型による自動バインドだけだと
ConnectionPool型のコンポーネントは2つあるので
うまく自動バインドできなかったんです。