<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
	"http://www.seasar.org/dtd/components24.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>
		<!--
		<property name="maxRows">100</property>
		-->
	</component>
	<!--
	<component class="org.seasar.extension.jdbc.impl.OracleResultSetFactory"/>
	<component class="org.seasar.extension.jdbc.impl.BooleanToIntStatementFactory"/>
	-->

	<!-- for HSQLDB -->
	<!--
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"org.hsqldb.jdbcDriver"
		</property>
		<property name="URL">
			"jdbc:hsqldb:file:"
				+ @org.seasar.framework.util.ResourceUtil@getBuildDir('app.dicon').getCanonicalPath()
				+ "/data/test"
		</property>
		<property name="user">"sa"</property>
		<property name="password">""</property>
	</component>
	-->

	<!-- for H2 -->
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"org.h2.Driver"
		</property>
		<property name="URL">
			"jdbc:h2:~/rdiff-backup-browser/data"
		</property>
		<property name="user">"sa"</property>
		<property name="password">""</property>
		<destroyMethod>
			@org.seasar.framework.util.DriverManagerUtil@deregisterAllDrivers()
		</destroyMethod>
   	</component>

	<!-- for Oracle -->
	<!--
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"oracle.jdbc.driver.OracleDriver"
		</property>
		<property name="URL">
			"jdbc:oracle:thin:@xxx:1521:xxx"
		</property>
		<property name="user">"xxx"</property>
		<property name="password">"xxx"</property>
	</component>
	-->

	<!-- for DB2 -->
	<!--
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"com.ibm.db2.jcc.DB2Driver"
		</property>
		<property name="URL">
			"jdbc:db2://foo.bar.com:50000/SAMPLE"
		</property>
		<property name="user">"db2user"</property>
		<property name="password">"db2password"</property>
		<initMethod name="addProperty">
			<arg>"currentSchema"</arg>
			<arg>"SCHEMA"</arg>
		</initMethod>
	</component>
	-->

	<!-- for PostgreSQL -->
	<!--
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"org.postgresql.Driver"
        </property>
        <property name="URL">
          "jdbc:postgresql://localhost/TEST"
        </property>
        <property name="user">"xxxx"</property>
        <property name="password">"xxxx"</property>
    </component>
    -->

	<!-- MySQL
	- MySQL4.0以下でマルチバイト文字を扱う場合には，URL指定の後に，
		以下の接続パラメータを追加で指定してください．
		useUnicode=true
		characterEncoding=[MySQLのエンコーディングに対応した
		Javaのエンコーディング名]
		例："jdbc:mysql://localhost:3306/test?useUnicode=true" +
		"&amp;characterEncoding=Windows-31J"

	- MySQL5.0以降で，エンコーディングがeucjpmsの列を扱う場合には，
		URL指定の後に，以下の接続パラメータを追加で指定してください．
		characterEncoding=UTF-8またはWindows-31J
		characterSetResults=UTF-8またはWindows-31J
		例："jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8" +
		"&amp;characterSetResults=UTF-8"
		この指定をしない場合，Java側でUCS-2⇔EUC_JP_Solarisの変換が
		行なわれるため，ユーザー定義外字などの一部の文字が化けます．
		この指定をすることで，MySQL側でeucjpms⇔ucs2⇔utf8(cp932)の
		変換が行なわれ，Java側でUCS-2⇔UTF-8(Windows-31J)の変換が
		行なわれるようになります．この結果，文字化けを防げます．
		なおJIS X 0212(補助漢字)を使用する場合は，Windows-31Jではなく
		UTF-8を指定する必要があります．

	- 上記以外の場合は，my.cnfでdefault-character-setの設定を適切に
		(cp932やutf8など．デフォルトのlatin1は不可)行なっていれば，
		文字化けは防げます．
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"com.mysql.jdbc.Driver"
		</property>
		<property name="URL">
			"jdbc:mysql://localhost:3306/test"
		</property>
		<property name="user">"xxx"</property>
		<property name="password">"xxx"</property>
	</component>
	-->

	<!-- for SQLServer -->
	<!--
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"net.sourceforge.jtds.jdbc.Driver"
        </property>
        <property name="URL">
            "jdbc:jtds:sqlserver://localhost/TEST;instance=SQLEXPRESS"
        </property>
        <property name="user">"xxxx"</property>
        <property name="password">"xxxx"</property>
    </component>
	-->

	<component name="connectionPool"
		class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
		<property name="timeout">600</property>
		<property name="maxPoolSize">10</property>
		<property name="allowLocalTx">true</property>
		<destroyMethod name="close"/>
	</component>

	<component name="dataSource"
		class="org.seasar.extension.dbcp.impl.DataSourceImpl"
	/>

	<!-- from JNDI -->
	<!--
	<component name="dataSource"
		class="javax.sql.DataSource">
		@org.seasar.extension.j2ee.JndiResourceLocator@lookup("java:comp/env/jdbc/DataSource")
	</component>
	-->

	<!--
	<component name="dataSource"
		class="org.seasar.extension.datasource.impl.SelectableDataSourceProxy"/>
	-->
</components>