<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="
          http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/util
            http://www.springframework.org/schema/util/spring-util-3.0.xsd
          http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
          http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
          http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

    <context:property-placeholder ignore-unresolvable="true" location="classpath:jdbc.properties"/>

    <!-- jdbc -->
    <bean id="dataSource_Amm"
        class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass"><value>${jdbc.driverClassName}</value></property>
        <property name="jdbcUrl"><value>${jdbc.url}</value></property>
        <property name="user"><value>${jdbc.username}</value></property>
        <property name="password"><value>${jdbc.password}</value></property>
        
        <!-- プールサイズの設定 -->
		<property name="minPoolSize"><value>3</value></property>
        <property name="maxPoolSize"><value>15</value></property>
         
		
		<!--
		≪idleConnectionTestPeriod≫
		Default: 0
		n秒ごとに、全てのアイドル(プールされた未チェックアウトの接続)をテストします。
		※「0」は実行しない設定。
		※ MySQLは 28800秒(8時間)毎に接続を切断するため、この設定を追加した。
		 -->
        <property name="idleConnectionTestPeriod"><value>60</value></property>
         
         
    </bean>

    <!-- Hibernate SessionFactory -->
    <bean id="sessionFactory_Amm"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref local="dataSource_Amm" />
        </property>
        <property name="mappingResources">
            <list>
                <!-- テーブルごとの定義を列挙 -->
                <!-- 
                <value>jp/co/y_net/amm/dao/Localestring.hbm.xml</value>
                 -->
                <value>jp/co/y_net/amm/dao/Usr.hbm.xml</value>
                <value>jp/co/y_net/amm/dao/Org.hbm.xml</value>
                <value>jp/co/y_net/amm/dao/Pwtckt.hbm.xml</value>
                <value>jp/co/y_net/amm/dao/Inf.hbm.xml</value>
                <value>jp/co/y_net/amm/dao/Grp.hbm.xml</value>
                <value>jp/co/y_net/amm/dao/Grpusr.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.default_catalog">${jdbc.dbname}</prop>
            </props>
        </property>
    </bean>
</beans>