Jean-Yves, Bricolage et Bidouilles

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 7 décembre 2006

Spring C3P0 hibernate

Modifs du 07-Dec-2006

Après quelques heures de galére de de googleage, je livre tout cru le fichier de configuration Spring C3p0 Hibernate qui fonctionne avec MySQL et qui tiens la distance en espérant que cela pourra servir à quelqu'un.

La première config n'était pas si bonne que cela, ci-dessous les corrections à apporter ... (Ce coup ci j'ai vérifié !). Voir tout en bas de la doc C3p0 le paragraphe sur la configuration avec hibernate.

Reste encore à régler le problème du cache.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="c3p0dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <property name="driverClass" value="${jdbc.driverClassName}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="acquireIncrement" value="1"></property>
        <property name="minPoolSize" value="5"></property>
        <property name="maxPoolSize" value="50"></property>
        <property name="acquireRetryAttempts" value="10"></property>
        <property name="preferredTestQuery" value="SELECT 1"></property> 
        <property name="testConnectionOnCheckin" value="true"></property>
        <property name="testConnectionOnCheckout" value="false"></property>
        <property name="maxIdleTime" value="50"></property>
        <property name="idleConnectionTestPeriod" value="30"></property>
    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="c3p0dataSource"/>
        <property name="mappingResources">
            <list>
                   ................................... 	
	   </list>
        </property>
        <property name="hibernateProperties">
            <props>
               <prop key="hibernate.dialect">${hibernate.dialect}</prop>
               <prop key="hibernate.hbm2ddl.auto">update</prop>
		<prop key="hibernate.connection.release_mode">on_close</prop>
               <prop key="hibernate.c3p0.acquire_increment">1</prop>
               <prop key="hibernate.c3p0.minPoolSize">2</prop>
               <prop key="hibernate.c3p0.maxPoolSize">50</prop>
		<prop key="hibernate.c3p0.timeout">1800</prop>
		<prop key="hibernate.c3p0.max_statement">0</prop>  
		<prop key="hibernate.c3p0.idle_test_period">30</prop>          
	     </props>
        </property>
    </bean>
</beans>

Calendrier

décembre 2006
lunmarmerjeuvensamdim
123
45678910
11121314151617
18192021222324
25262728293031

Archives