简体   繁体   中英

Hibernate c3p0 configuration has no affect

I'm trying to add c3p0 connection pool to our existing hibernate configuration. But it has no affect and hibernate still uses default pool. Hibernate Configuration alone is working fine so i am absolutely sure no problem with it.

Wondering if someone here can point my mistake Or suggest how i can debug the problem ?

I do not use Spring framework.

<hibernate-configuration>
<session-factory>

<property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
    <property name="hibernate.connection.password">passwd</property>
    <property name="hibernate.connection.url">jdbc:db2://server:port/database</property>
    <property name="hibernate.connection.username">username</property>

    <property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
    <property name="hibernate.connection.autocommit">false</property>
    <property name="hibernate.current_session_context_class">thread</property>
    <property name="hibernate.default_schema">DB Schema</property>
    <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
    <property name="hibernate.format_sql">false</property>
    <property name="hibernate.max_fetch_depth">4</property>
    <property name="hibernate.search.autoregister_listeners">false</property>
    <property name="hibernate.show_sql">false</property>
    <property name="hibernate.connection.isolation">1</property>
    <property name="hibernate.jdbc.batch_size">50</property>

<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">3000</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">900</property>

<mapping resource="table.hbm.xml" />

</session-factory>
</hibernate-configuration>

Here are the jars i have:

hibernate3.jar
hibernate-c3p0-3.5.0-Final.jar

Statements from the logs:

hibernate.cfg.Environment - Hibernate 3.5.0-Final
INFO  ManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
INFO  ManagerConnectionProvider - Hibernate connection pool size: 20

Try configuring a connection provider class from c3p0 .

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>

Also, it's better to add the hibernate configuration doctype, which will help in finding any typos.

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

UPDATE You need to include the mchange library in your classpath. This link might helpful to you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM