2011-03-21 119 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