【问题标题】:C3P0 Connection ProblemC3P0 连接问题
【发布时间】:2011-07-19 16:52:50
【问题描述】:

我正在使用 hibernate 和 cp30 进行数据库操作并出现错误:

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection

这是我的 jdbc 属性:

    <property name="acquireIncrement" value="2"/>
    <property name="initialPoolSize" value="6"/>
    <property name="maxIdleTime" value="21600"/>
    <property name="maxPoolSize" value="10"/>
    <property name="maxStatements" value="0"/>
    <property name="minPoolSize" value="2"/>
    <property name="idleConnectionTestPeriod" value="10800"/>
    <!--<property name="testConnectionOnCheckout" value="true" / >-->
    <property name="preferredTestQuery" value="SELECT NOW()"/>
    <property name="maxAdministrativeTaskTime" value="3590"/>
    <property name="unreturnedConnectionTimeout" value="3595"/>
    <property name="debugUnreturnedConnectionStackTraces" value="true"/>

和cp30:

 <prop key="c3p0.acquire_increment">3</prop>
 <prop key="c3p0.idle_test_period">300</prop>
 <prop key="c3p0.max_size">15</prop>
 <prop key="c3p0.max_statements">0</prop>
 <prop key="c3p0.min_size">3</prop>
 <prop key="c3p0.timeout">5000</prop>

Mysql 现在没有给我任何连接。有没有办法显示mysql的连接使用情况?我可以刷新这些不良连接吗?而最重要的问题是,我应该怎么做才能避免这个连接池错误?

提前致谢。

【问题讨论】:

  • 听起来您的问题与 MySQL 相关,而不是 c3p0 本身。不管怎样,你能发布一个堆栈跟踪、日志文件片段或其他东西吗?
  • 向我们展示您的休眠配置。你把 c3p0 作为 Hibernate 连接提供者了吗?
  • 堆栈跟踪:sharetext.org/U88休眠配置:sharetext.org/U89
  • 好的,你的数据源是什么样的?

标签: java mysql hibernate connection-pooling c3p0


【解决方案1】:

数据源是

<!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> -->
    <bean id="dataSource" 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="connectionCustomizerClassName" value="org.xxx.webapp.common.persistence.WatchConnectionCustomizer"/>-->
    <property name="maxStatements" value="500"/>
    <property name="maxIdleTime" value="1800"/>
    <property name="maxPoolSize" value="100"/>
    <property name="minPoolSize" value="2"/>
    <property name="initialPoolSize" value="2"/>
    <property name="acquireIncrement" value="3"/>
    <property name="idleConnectionTestPeriod" value="3000"/>
    </bean>



<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="annotatedClasses">
            <list>
                <value>org.fbis.models.Form21</value>
                <value>org.fbis.models.GSCDetails</value>
                <value>org.fbis.models.DigitalRegistraion</value>                   
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>

    </bean>  

添加hibernate-c3p0-4.2.1.Final.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 2011-02-21
    • 2011-04-20
    • 2015-01-07
    • 2021-03-12
    • 1970-01-01
    • 2011-01-07
    相关资源
    最近更新 更多