2011-03-21 117 views
0

我使用的数据库操作休眠和CP30和获取错误:C3P0连接问题

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的连接使用情况吗?我能冲洗这些不良连接吗?而最重要的问题是,我应该怎么做才能避免这种连接池错误?

在此先感谢。

+0

听起来像是你的问题是MySQL相关的,不C3P0本身。无论如何,你能发布堆栈跟踪,日志文件片段还是要看的东西? – mazaneicha 2011-03-21 13:59:32

+0

向我们展示您的休眠配置。你有没有把c3p0作为Hibernate连接提供者? – Erik 2011-03-21 14:01:13

+0

堆栈跟踪:http://sharetext.org/U88休眠配置:http://sharetext.org/U89 – MartK 2011-03-21 15:32:54

回答

0

数据源是

<!-- <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