项目发布有好几个月时间了;以前运行一直很正常;这几天由于换域名;这就为1个tomcat下面的每一个工程对应一个域名;在一台服务器上;域名配置完后;当时夜没有留意;启动后就没有管了;
今天看log日志;发现出现了大量的APPARENT DEADLOCK!!我重启tomcat;发现在数据库连接的时候;连接非常缓慢;可能长达1-2分钟;几个工程全部启动完毕;时间可能达到5分钟左右;以前启动的时候;最多30秒;难道我就是为每个项目对应配置了一个域名而引起的吗?这个我也不清楚;如果师这样;那请各位朋友告诉我下解决办法;
说APPARENT DEADLOCK!!这个问题吧;网上很多说把maxStatements设置为0;问题可以解决;然而我本来就是0;所以跟他没事;用的c3p0包师0.9的;出现的问题:
   1:启动的时候为什么每次需要1分钟左右的时间连接池去连接数据库(以前不会出现)
   2:APPARENT DEADLOCK!!这个问题该如何解决呢?在数据查询的时候程序有时候变得灰常缓慢;考虑过数据库服务器网络的问题;Reply from ip :bytes = 32 time=107ms ttl=52;网络应该没有多少问题吧。
  下面是我数据连接池的配置;麻烦帮我看下
  
  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="jdbcUrl">
     <value>jdbc:oracle:thin:@IP/fishpopo</value> 
</property>
<property name="user">
<value>fish_i366</value>
</property>
<property name="password">
<value>fishi366ora57</value>
</property> 
      <property name="minPoolSize">
<value>5</value>
</property>  
     <property name="maxPoolSize">
<value>200</value>
</property>   
     <property name="initialPoolSize">
<value>10</value>
</property>   
     <property name="maxIdleTime">
<value>0</value>
</property>   
     <property name="acquireIncrement">
<value>10</value>
</property>

<property name="maxStatements">
<value>0</value>
</property>   
    
 
<property name="idleConnectionTestPeriod">
<value>60</value>
</property>   
    
 
<property name="acquireRetryAttempts">
<value>30</value>
</property>

<property name="breakAfterAcquireFailure">
<value>true</value>
</property>

<property name="testConnectionOnCheckout">
<value>false</value>
</property>
</bean>
  
真诚的感谢!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    我也遇到这个问题 看望上说把参数maxStatements设置一下
    In c3p0.properties: 
    c3p0.maxStatements=0 
    c3p0.maxStatementsPerConnection=100 
    不过我的就是这样设置的也不行  郁闷
      

  2.   

    这问题;回答的人怎么那么少呢。换dbcp试一试;期望有好的结果;启动慢无所谓;希望运行的时候很够快起来;我本机连接外网数据库服务器;
      

  3.   

    我的问题解决了  客户用的sqlserver数据库  后来发现是因为没有打数据库补丁
      

  4.   

    前几天没有上CSDN,亲;问题解决了;虽然tomcat服务启动的时候;连接依然需要很长时间;但是访问程序的时候;明显快了很多;
    c3p0惹的祸;我把他换成了dbcp后;一切OK;但是我心中起了很大的疑问是c3p0不稳定还是怎么?但是很显然;c3p0是一个相对稳定的数据库连接池配置;为什么会出现这种问题了;其中的原理我还是布了解;望csdn上的达人讲解下;在以后使用数据库连接池的时候;我们能够判断使用哪种方式的连接;效果更佳;